mirror of
https://github.com/servo/servo.git
synced 2025-06-10 01:23:13 +00:00
Build some dependencies with rustpkg
Also take a rust-layers bugfix. In collaboration with Jack Moffitt.
This commit is contained in:
parent
4eb8449621
commit
db6d25ff13
21 changed files with 131 additions and 77 deletions
90
Makefile.in
90
Makefile.in
|
@ -116,11 +116,15 @@ rust: $(CFG_RUSTC)
|
||||||
|
|
||||||
# Strip off submodule paths to determine "raw" submodule names.
|
# Strip off submodule paths to determine "raw" submodule names.
|
||||||
SUBMODULES=$(shell echo $(CFG_SUBMODULES) | perl -p -e 's![A-Za-z0-9_-]+/!!g')
|
SUBMODULES=$(shell echo $(CFG_SUBMODULES) | perl -p -e 's![A-Za-z0-9_-]+/!!g')
|
||||||
|
SUBMODULES_RUSTPKG=$(shell echo $(CFG_SUBMODULES_RUSTPKG) | perl -p -e 's![A-Za-z0-9_-]+/!!g')
|
||||||
|
|
||||||
# Define e.g. PATH_rust-io-surface = platform/macos/rust-io-surface
|
# Define e.g. PATH_skia = support/skia/skia
|
||||||
$(foreach submodule,$(CFG_SUBMODULES),\
|
$(foreach submodule,$(CFG_SUBMODULES),\
|
||||||
$(eval PATH_$(shell echo $(submodule) | perl -p -e 's![A-Za-z0-9_-]+/!!g') = $(submodule)))
|
$(eval PATH_$(shell echo $(submodule) | perl -p -e 's![A-Za-z0-9_-]+/!!g') = $(submodule)))
|
||||||
|
|
||||||
|
$(foreach submodule,$(CFG_SUBMODULES_RUSTPKG),\
|
||||||
|
$(eval PATH_$(shell echo $(submodule) | perl -p -e 's![A-Za-z0-9_-]+/!!g') = $(submodule)))
|
||||||
|
|
||||||
define DEF_SUBMODULE_VARS
|
define DEF_SUBMODULE_VARS
|
||||||
|
|
||||||
#defaults
|
#defaults
|
||||||
|
@ -128,7 +132,7 @@ DEPS_$(1) =
|
||||||
CFLAGS_$(1) = -O2
|
CFLAGS_$(1) = -O2
|
||||||
|
|
||||||
#if global cflags set, inherit that
|
#if global cflags set, inherit that
|
||||||
ifneq ($$(CFLAGS),)
|
ifdef CFLAGS
|
||||||
CFLAGS_$(1) = $$(CFLAGS)
|
CFLAGS_$(1) = $$(CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -142,37 +146,49 @@ DEPS_SUBMODULES += $$(PATH_$(1))/.libs
|
||||||
DEPS_SUBMODULES += $$(PATH_$(1))/src/.libs
|
DEPS_SUBMODULES += $$(PATH_$(1))/src/.libs
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
DEPS_RUSTPKG = $(CFG_BUILD_HOME)workspace/lib/$(CFG_TARGET_TRIPLES)
|
||||||
|
|
||||||
# these will get populated.
|
# these will get populated.
|
||||||
DEPS_SUBMODULES =
|
DEPS_SUBMODULES =
|
||||||
|
|
||||||
$(foreach submodule,$(SUBMODULES),\
|
$(foreach submodule,$(SUBMODULES),\
|
||||||
$(eval $(call DEF_SUBMODULE_VARS,$(submodule))))
|
$(eval $(call DEF_SUBMODULE_VARS,$(submodule))))
|
||||||
|
|
||||||
|
$(foreach submodule,$(SUBMODULES_RUSTPKG),\
|
||||||
|
$(eval DONE_$(submodule) = $(DEPS_RUSTPKG)/lib$(submodule)*))
|
||||||
|
|
||||||
|
# Handle rust submodule vars specially
|
||||||
|
DONE_rust = $(CFG_RUSTC)
|
||||||
|
|
||||||
# include submodule dependencies configuration
|
# include submodule dependencies configuration
|
||||||
include $(S)mk/sub.mk
|
include $(S)mk/sub.mk
|
||||||
|
|
||||||
|
# Define how to compute approximate submodule dependencies.
|
||||||
|
# TODO: this may be a bit brutish, but is there a better way?
|
||||||
|
define DEF_SUBMODULE_DEPS
|
||||||
|
ROUGH_DEPS_$(1)=$$(call rwildcard,$$(S)src/$$(PATH_$(1)),*h *c *cpp *rs *rc)
|
||||||
|
DONE_DEPS_$(1)=$$(foreach dep,$$(DEPS_$(1)),$$(DONE_$$(dep)))
|
||||||
|
# the main target for a submodule
|
||||||
|
endef
|
||||||
|
|
||||||
# Define how to make submodule targets
|
# Define how to make submodule targets
|
||||||
define DEF_SUBMODULE_RULES
|
define DEF_SUBMODULE_RULES
|
||||||
|
|
||||||
ENV_RLDFLAGS_$(1) = $$(foreach dep,$$(DEPS_$(1)),-L $$(B)src/$$(PATH_$$(dep)) -L $$(B)src/$$(PATH_$$(dep))/.libs -L $$(B)src/$$(PATH_$$(dep))/src/.libs)
|
ENV_RLDFLAGS_$(1) = -L $$(CFG_BUILD_HOME)workspace/lib/$$(CFG_TARGET_TRIPLES)
|
||||||
|
ENV_RLDFLAGS_$(1) += $$(foreach dep,$$(DEPS_$(1)),-L $$(B)src/$$(PATH_$$(dep)) -L $$(B)src/$$(PATH_$$(dep))/.libs -L $$(B)src/$$(PATH_$$(dep))/src/.libs)
|
||||||
|
|
||||||
# variables that depend on dependency definitions from sub.mk!
|
# variables that depend on dependency definitions from sub.mk!
|
||||||
ENV_CFLAGS_$(1) = CFLAGS="$$(CFLAGS_$(1))"
|
ENV_CFLAGS_$(1) = CFLAGS="$$(CFLAGS_$(1))"
|
||||||
ENV_RFLAGS_$(1) = RUSTFLAGS="$$(strip $$(CFG_RUSTC_FLAGS)) $$(ENV_RLDFLAGS_$(1))"
|
ENV_RFLAGS_$(1) = RUSTFLAGS="$$(strip $$(CFG_RUSTC_FLAGS)) $$(ENV_RLDFLAGS_$(1))"
|
||||||
|
|
||||||
# use a rough approximation of submodule dependencies to trigger calling submodule make
|
|
||||||
# whenever a submodule changes
|
|
||||||
# TODO: this may be a bit brutish, but is there a better way?
|
|
||||||
ROUGH_DEPS_$(1)=$$(call rwildcard,$$(S)src/$$(PATH_$(1)),*h *c *cpp *rs *rc)
|
|
||||||
DONE_DEPS_$(1)=$$(foreach dep,$$(DEPS_$(1)),$$(DONE_$$(dep)))
|
|
||||||
# the main target for a submodule
|
|
||||||
# --
|
|
||||||
|
|
||||||
# Native builds do not depend on the rust compiler, so we can build them in parallel with rustc
|
# Native builds do not depend on the rust compiler, so we can build them in parallel with rustc
|
||||||
|
RUSTC_DEP_$(1)=
|
||||||
ifneq "$$(filter $(1),$$(NATIVE_BUILDS))" "$(1)"
|
ifneq "$$(filter $(1),$$(NATIVE_BUILDS))" "$(1)"
|
||||||
RUSTC_DEP_$(1)=$$(CFG_RUSTC)
|
RUSTC_DEP_$(1)=$$(CFG_RUSTC)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(eval $(call DEF_SUBMODULE_DEPS,$(1)))
|
||||||
|
|
||||||
$$(DONE_$(1)) : $$(DONE_DEPS_$(1)) $$(ROUGH_DEPS_$(1)) $$(RUSTC_DEP_$(1))
|
$$(DONE_$(1)) : $$(DONE_DEPS_$(1)) $$(ROUGH_DEPS_$(1)) $$(RUSTC_DEP_$(1))
|
||||||
# @$$(call E, make: $(1))
|
# @$$(call E, make: $(1))
|
||||||
# @$$(call E, $(1) deps= $$(DEPS_$(1)))
|
# @$$(call E, $(1) deps= $$(DEPS_$(1)))
|
||||||
|
@ -180,7 +196,6 @@ $$(DONE_$(1)) : $$(DONE_DEPS_$(1)) $$(ROUGH_DEPS_$(1)) $$(RUSTC_DEP_$(1))
|
||||||
# @$$(call E, $(1) cflags= $$(ENV_CFLAGS_$(1)))
|
# @$$(call E, $(1) cflags= $$(ENV_CFLAGS_$(1)))
|
||||||
# @$$(call E, $(1) cxxflags= $$(ENV_CXXFLAGS_$(1)))
|
# @$$(call E, $(1) cxxflags= $$(ENV_CXXFLAGS_$(1)))
|
||||||
# @$$(call E, $(1) rflags= $$(ENV_RFLAGS_$(1)))
|
# @$$(call E, $(1) rflags= $$(ENV_RFLAGS_$(1)))
|
||||||
|
|
||||||
$$(Q) \
|
$$(Q) \
|
||||||
$$(ENV_CFLAGS_$(1)) \
|
$$(ENV_CFLAGS_$(1)) \
|
||||||
$$(ENV_CXXFLAGS_$(1)) \
|
$$(ENV_CXXFLAGS_$(1)) \
|
||||||
|
@ -195,46 +210,53 @@ endef
|
||||||
$(foreach submodule,$(SUBMODULES),\
|
$(foreach submodule,$(SUBMODULES),\
|
||||||
$(eval $(call DEF_SUBMODULE_RULES,$(submodule))))
|
$(eval $(call DEF_SUBMODULE_RULES,$(submodule))))
|
||||||
|
|
||||||
DONE_SUBMODULES = $(foreach submodule,$(SUBMODULES),$(DONE_$(submodule)))
|
# include rustpkg rules
|
||||||
|
include $(S)mk/rustpkg.mk
|
||||||
|
|
||||||
RFLAGS_util = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES))
|
$(foreach submodule,$(SUBMODULES_RUSTPKG),\
|
||||||
|
$(eval $(call DEF_SUBMODULE_RUSTPKG_RULES,$(submodule))))
|
||||||
|
|
||||||
|
DONE_SUBMODULES = $(foreach submodule,$(SUBMODULES),$(DONE_$(submodule)))
|
||||||
|
DONE_SUBMODULES_RUSTPKG = $(foreach submodule,$(SUBMODULES_RUSTPKG),$(DONE_$(submodule)))
|
||||||
|
|
||||||
|
RFLAGS_util = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(DEPS_RUSTPKG)
|
||||||
SRC_util = $(call rwildcard,$(S)src/components/util/,*.rs)
|
SRC_util = $(call rwildcard,$(S)src/components/util/,*.rs)
|
||||||
CRATE_util = $(S)src/components/util/util.rc
|
CRATE_util = $(S)src/components/util/util.rc
|
||||||
DONE_util = $(B)src/components/util/libutil.dummy
|
DONE_util = $(B)src/components/util/libutil.dummy
|
||||||
|
|
||||||
DEPS_util = $(CRATE_util) $(SRC_util) $(DONE_SUBMODULES)
|
DEPS_util = $(CRATE_util) $(SRC_util) $(DONE_SUBMODULES) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_net = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util
|
RFLAGS_net = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(DEPS_RUSTPKG)
|
||||||
SRC_net = $(call rwildcard,$(S)src/components/net/,*.rs)
|
SRC_net = $(call rwildcard,$(S)src/components/net/,*.rs)
|
||||||
CRATE_net = $(S)src/components/net/net.rc
|
CRATE_net = $(S)src/components/net/net.rc
|
||||||
DONE_net = $(B)src/components/net/libnet.dummy
|
DONE_net = $(B)src/components/net/libnet.dummy
|
||||||
|
|
||||||
DEPS_net = $(CRATE_net) $(SRC_net) $(DONE_SUBMODULES) $(DONE_util)
|
DEPS_net = $(CRATE_net) $(SRC_net) $(DONE_SUBMODULES) $(DONE_util) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_msg = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES))
|
RFLAGS_msg = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(DEPS_RUSTPKG)
|
||||||
SRC_msg = $(call rwildcard,$(S)src/components/msg/,*.rs)
|
SRC_msg = $(call rwildcard,$(S)src/components/msg/,*.rs)
|
||||||
CRATE_msg = $(S)src/components/msg/msg.rc
|
CRATE_msg = $(S)src/components/msg/msg.rc
|
||||||
DONE_msg = $(B)src/components/msg/libmsg.dummy
|
DONE_msg = $(B)src/components/msg/libmsg.dummy
|
||||||
|
|
||||||
DEPS_msg = $(CRATE_msg) $(SRC_msg) $(DONE_SUBMODULES)
|
DEPS_msg = $(CRATE_msg) $(SRC_msg) $(DONE_SUBMODULES) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg
|
RFLAGS_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg -L $(DEPS_RUSTPKG)
|
||||||
SRC_gfx = $(call rwildcard,$(S)src/components/gfx/,*.rs)
|
SRC_gfx = $(call rwildcard,$(S)src/components/gfx/,*.rs)
|
||||||
CRATE_gfx = $(S)src/components/gfx/gfx.rc
|
CRATE_gfx = $(S)src/components/gfx/gfx.rc
|
||||||
DONE_gfx = $(B)src/components/gfx/libgfx.dummy
|
DONE_gfx = $(B)src/components/gfx/libgfx.dummy
|
||||||
|
|
||||||
DEPS_gfx = $(CRATE_gfx) $(SRC_gfx) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg)
|
DEPS_gfx = $(CRATE_gfx) $(SRC_gfx) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_script = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg
|
RFLAGS_script = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg -L $(DEPS_RUSTPKG)
|
||||||
WEBIDL_script = $(call rwildcard,$(S)src/components/script/,*.webidl)
|
WEBIDL_script = $(call rwildcard,$(S)src/components/script/,*.webidl)
|
||||||
AUTOGEN_SRC_script = $(patsubst %.webidl, %Binding.rs, $(WEBIDL_script))
|
AUTOGEN_SRC_script = $(patsubst %.webidl, %Binding.rs, $(WEBIDL_script))
|
||||||
SRC_script = $(call rwildcard,$(S)src/components/script/,*.rs) $(AUTOGEN_SRC_script)
|
SRC_script = $(call rwildcard,$(S)src/components/script/,*.rs) $(AUTOGEN_SRC_script)
|
||||||
CRATE_script = $(S)src/components/script/script.rc
|
CRATE_script = $(S)src/components/script/script.rc
|
||||||
DONE_script = $(B)src/components/script/libscript.dummy
|
DONE_script = $(B)src/components/script/libscript.dummy
|
||||||
|
|
||||||
DEPS_script = $(CRATE_script) $(SRC_script) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg)
|
DEPS_script = $(CRATE_script) $(SRC_script) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_style = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util
|
RFLAGS_style = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(DEPS_RUSTPKG)
|
||||||
MAKO_ZIP = $(S)src/components/style/Mako-0.8.1.zip
|
MAKO_ZIP = $(S)src/components/style/Mako-0.8.1.zip
|
||||||
MAKO_style = $(S)src/components/style/properties.rs
|
MAKO_style = $(S)src/components/style/properties.rs
|
||||||
MAKO_SRC_style = $(MAKO_style).mako
|
MAKO_SRC_style = $(MAKO_style).mako
|
||||||
|
@ -242,14 +264,21 @@ SRC_style = $(call rwildcard,$(S)src/components/style/,*.rs) $(MAKO_style)
|
||||||
CRATE_style = $(S)src/components/style/style.rc
|
CRATE_style = $(S)src/components/style/style.rc
|
||||||
DONE_style = $(B)src/components/style/libstyle.dummy
|
DONE_style = $(B)src/components/style/libstyle.dummy
|
||||||
|
|
||||||
DEPS_style = $(CRATE_style) $(SRC_style) $(DONE_SUBMODULES) $(DONE_util)
|
DEPS_style = $(CRATE_style) $(SRC_style) $(DONE_SUBMODULES) $(DONE_util) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg
|
RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L $(DEPS_RUSTPKG)
|
||||||
|
|
||||||
SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs)
|
SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs)
|
||||||
CRATE_servo = $(S)src/components/main/servo.rc
|
CRATE_servo = $(S)src/components/main/servo.rc
|
||||||
|
|
||||||
DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_util) $(DONE_gfx) $(DONE_script) $(DONE_style) $(DONE_net) $(DONE_msg)
|
DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_util) $(DONE_gfx) $(DONE_script) $(DONE_net) $(DONE_msg) $(DONE_style) $(DONE_SUBMODULES_RUSTPKG) | $(SUBMODULES_RUSTPKG)
|
||||||
|
|
||||||
|
SERVO_LIB_CRATES = util net msg gfx script style
|
||||||
|
|
||||||
|
# rules that depend on having correct meta-target vars (DEPS_CLEAN, DEPS_servo, etc)
|
||||||
|
# and SERVO_LIB_CRATES
|
||||||
|
include $(S)mk/check.mk
|
||||||
|
include $(S)mk/clean.mk
|
||||||
|
|
||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
@ -257,8 +286,6 @@ all: servo
|
||||||
|
|
||||||
# Servo helper libraries
|
# Servo helper libraries
|
||||||
|
|
||||||
SERVO_LIB_CRATES = util net msg gfx script style
|
|
||||||
|
|
||||||
define DEF_LIB_CRATE_RULES
|
define DEF_LIB_CRATE_RULES
|
||||||
$$(DONE_$(1)): $$(DEPS_$(1))
|
$$(DONE_$(1)): $$(DEPS_$(1))
|
||||||
@$$(call E, compile: $$@)
|
@$$(call E, compile: $$@)
|
||||||
|
@ -268,11 +295,6 @@ endef
|
||||||
$(foreach lib_crate,$(SERVO_LIB_CRATES),\
|
$(foreach lib_crate,$(SERVO_LIB_CRATES),\
|
||||||
$(eval $(call DEF_LIB_CRATE_RULES,$(lib_crate))))
|
$(eval $(call DEF_LIB_CRATE_RULES,$(lib_crate))))
|
||||||
|
|
||||||
# rules that depend on having correct meta-target vars (DEPS_CLEAN, DEPS_servo, etc)
|
|
||||||
# and SERVO_LIB_CRATES
|
|
||||||
include $(S)mk/check.mk
|
|
||||||
include $(S)mk/clean.mk
|
|
||||||
|
|
||||||
BINDINGS_SRC = $(S)/src/components/script/dom/bindings/codegen
|
BINDINGS_SRC = $(S)/src/components/script/dom/bindings/codegen
|
||||||
|
|
||||||
CACHE_DIR = $(BINDINGS_SRC)/_cache
|
CACHE_DIR = $(BINDINGS_SRC)/_cache
|
||||||
|
|
29
configure
vendored
29
configure
vendored
|
@ -394,6 +394,7 @@ probe CFG_CLANG clang++
|
||||||
|
|
||||||
CFG_BUILD_DIR="${CFG_BUILD_HOME}${CFG_TARGET_TRIPLES}/"
|
CFG_BUILD_DIR="${CFG_BUILD_HOME}${CFG_TARGET_TRIPLES}/"
|
||||||
make_dir "${CFG_BUILD_DIR}"
|
make_dir "${CFG_BUILD_DIR}"
|
||||||
|
make_dir "${CFG_BUILD_HOME}/workspace/src"
|
||||||
|
|
||||||
if [ ! -z "$CFG_LOCAL_RUST_ROOT" ]
|
if [ ! -z "$CFG_LOCAL_RUST_ROOT" ]
|
||||||
then
|
then
|
||||||
|
@ -402,6 +403,7 @@ then
|
||||||
LRV=`${CFG_LOCAL_RUST_ROOT}/bin/rustc --version`
|
LRV=`${CFG_LOCAL_RUST_ROOT}/bin/rustc --version`
|
||||||
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
|
step_msg "using rustc at: ${CFG_LOCAL_RUST_ROOT} with version: $LRV"
|
||||||
CFG_RUSTC=${CFG_LOCAL_RUST_ROOT}/bin/rustc
|
CFG_RUSTC=${CFG_LOCAL_RUST_ROOT}/bin/rustc
|
||||||
|
CFG_RUSTPKG=${CFG_LOCAL_RUST_ROOT}/bin/rustpkg
|
||||||
CFG_RUST_HOME=${CFG_LOCAL_RUST_ROOT}
|
CFG_RUST_HOME=${CFG_LOCAL_RUST_ROOT}
|
||||||
CFG_LOCAL_RUSTC=1
|
CFG_LOCAL_RUSTC=1
|
||||||
else
|
else
|
||||||
|
@ -411,6 +413,7 @@ else
|
||||||
step_msg "using in-tree rust compiler"
|
step_msg "using in-tree rust compiler"
|
||||||
# The Rust compiler we're going to build
|
# The Rust compiler we're going to build
|
||||||
CFG_RUSTC="${CFG_BUILD_DIR}src/compiler/rust/${DEFAULT_TARGET_TRIPLE}/stage2/bin/rustc"
|
CFG_RUSTC="${CFG_BUILD_DIR}src/compiler/rust/${DEFAULT_TARGET_TRIPLE}/stage2/bin/rustc"
|
||||||
|
CFG_RUSTPKG="${CFG_BUILD_DIR}src/compiler/rust/${DEFAULT_TARGET_TRIPLE}/stage2/bin/rustpkg"
|
||||||
CFG_RUST_HOME="${CFG_BUILD_DIR}src/compiler/rust/${DEFAULT_TARGET_TRIPLE}/stage2"
|
CFG_RUST_HOME="${CFG_BUILD_DIR}src/compiler/rust/${DEFAULT_TARGET_TRIPLE}/stage2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -477,21 +480,23 @@ then
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CFG_SUBMODULES_RUSTPKG="\
|
||||||
|
support/geom/rust-geom \
|
||||||
|
support/layers/rust-layers \
|
||||||
|
support/opengles/rust-opengles \
|
||||||
|
support/sharegl/sharegl"
|
||||||
|
|
||||||
CFG_SUBMODULES="\
|
CFG_SUBMODULES="\
|
||||||
support/alert/rust-alert \
|
support/alert/rust-alert \
|
||||||
support/azure/rust-azure \
|
support/azure/rust-azure \
|
||||||
support/css/rust-cssparser \
|
support/css/rust-cssparser \
|
||||||
support/geom/rust-geom \
|
|
||||||
support/harfbuzz/rust-harfbuzz \
|
support/harfbuzz/rust-harfbuzz \
|
||||||
support/http/rust-http \
|
support/http/rust-http \
|
||||||
support/hubbub/libhubbub \
|
support/hubbub/libhubbub \
|
||||||
support/hubbub/rust-hubbub \
|
support/hubbub/rust-hubbub \
|
||||||
support/layers/rust-layers \
|
|
||||||
support/libparserutils/libparserutils \
|
support/libparserutils/libparserutils \
|
||||||
support/nss/nspr \
|
support/nss/nspr \
|
||||||
support/nss/nss \
|
support/nss/nss \
|
||||||
support/opengles/rust-opengles \
|
|
||||||
support/sharegl/sharegl \
|
|
||||||
support/skia/skia \
|
support/skia/skia \
|
||||||
support/spidermonkey/mozjs \
|
support/spidermonkey/mozjs \
|
||||||
support/spidermonkey/rust-mozjs \
|
support/spidermonkey/rust-mozjs \
|
||||||
|
@ -501,25 +506,29 @@ CFG_SUBMODULES="\
|
||||||
|
|
||||||
if [ $CFG_OSTYPE = "apple-darwin" ]
|
if [ $CFG_OSTYPE = "apple-darwin" ]
|
||||||
then
|
then
|
||||||
CFG_SUBMODULES="\
|
CFG_SUBMODULES_RUSTPKG="\
|
||||||
support/glfw/glfw \
|
|
||||||
support/glfw/glfw-rs \
|
|
||||||
platform/macos/rust-cocoa \
|
|
||||||
platform/macos/rust-core-foundation \
|
platform/macos/rust-core-foundation \
|
||||||
platform/macos/rust-core-graphics \
|
platform/macos/rust-core-graphics \
|
||||||
platform/macos/rust-core-text \
|
platform/macos/rust-core-text \
|
||||||
platform/macos/rust-io-surface \
|
platform/macos/rust-io-surface \
|
||||||
|
${CFG_SUBMODULES_RUSTPKG}"
|
||||||
|
CFG_SUBMODULES="\
|
||||||
|
support/glfw/glfw \
|
||||||
|
support/glfw/glfw-rs \
|
||||||
|
platform/macos/rust-cocoa \
|
||||||
${CFG_SUBMODULES}"
|
${CFG_SUBMODULES}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $CFG_OSTYPE = "unknown-linux-gnu" ]
|
if [ $CFG_OSTYPE = "unknown-linux-gnu" ]
|
||||||
then
|
then
|
||||||
|
CFG_SUBMODULES_RUSTPKG="\
|
||||||
|
platform/linux/rust-xlib \
|
||||||
|
${CFG_SUBMODULES_RUSTPKG}"
|
||||||
CFG_SUBMODULES="\
|
CFG_SUBMODULES="\
|
||||||
support/glfw/glfw \
|
support/glfw/glfw \
|
||||||
support/glfw/glfw-rs \
|
support/glfw/glfw-rs \
|
||||||
platform/linux/rust-fontconfig \
|
platform/linux/rust-fontconfig \
|
||||||
platform/linux/rust-freetype \
|
platform/linux/rust-freetype \
|
||||||
platform/linux/rust-xlib \
|
|
||||||
${CFG_SUBMODULES}"
|
${CFG_SUBMODULES}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -545,8 +554,10 @@ putvar CFG_BUILD_HOME
|
||||||
putvar CFG_BUILD_DIR
|
putvar CFG_BUILD_DIR
|
||||||
putvar CFG_CONFIGURE_ARGS
|
putvar CFG_CONFIGURE_ARGS
|
||||||
putvar CFG_SUBMODULES
|
putvar CFG_SUBMODULES
|
||||||
|
putvar CFG_SUBMODULES_RUSTPKG
|
||||||
putvar CFG_DISABLE_MANAGE_SUBMODULES
|
putvar CFG_DISABLE_MANAGE_SUBMODULES
|
||||||
putvar CFG_RUSTC
|
putvar CFG_RUSTC
|
||||||
|
putvar CFG_RUSTPKG
|
||||||
putvar CFG_RUSTC_FLAGS
|
putvar CFG_RUSTC_FLAGS
|
||||||
putvar CFG_RUST_HOME
|
putvar CFG_RUST_HOME
|
||||||
putvar CFG_PATH
|
putvar CFG_PATH
|
||||||
|
|
24
mk/rustpkg.mk
Normal file
24
mk/rustpkg.mk
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
EMPTY=
|
||||||
|
SPACE=$(EMPTY) $(EMPTY)
|
||||||
|
|
||||||
|
define DEF_SUBMODULE_RUSTPKG_RULES
|
||||||
|
|
||||||
|
$(eval $(call DEF_SUBMODULE_DEPS,$(1)))
|
||||||
|
|
||||||
|
$(1) : $$(DONE_$(1))
|
||||||
|
.PHONY : $(1)
|
||||||
|
|
||||||
|
DO_CLEAN_$(1) = rm -rf $$(DONE_$(1)) $(CFG_BUILD_HOME)/workspace/build/$(CFG_TARGET_TRIPLES)/$(1)
|
||||||
|
|
||||||
|
clean-$(1) :
|
||||||
|
$$(Q) $$(DO_CLEAN_$(1))
|
||||||
|
.PHONY : clean-$(1)
|
||||||
|
|
||||||
|
# Need to clean otherwise rustpkg won't rebuild.
|
||||||
|
$$(DONE_$(1)) : $$(DONE_rust) $$(DONE_DEPS_$(1)) $$(ROUGH_DEPS_$(1))
|
||||||
|
$$(Q) $$(DO_CLEAN_$(1))
|
||||||
|
$$(Q) RUST_PATH=$(CFG_BUILD_HOME)workspace:$(subst $(SPACE),:,$(foreach submodule,$(strip $(CFG_SUBMODULES_RUSTPKG)),$(S)src/$(submodule))) \
|
||||||
|
$(CFG_RUSTPKG) --rust-path-hack install $(CFG_RUSTC_FLAGS) $(1)
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
|
|
||||||
extern mod azure;
|
extern mod azure;
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
extern mod layers;
|
extern mod layers = "rust-layers";
|
||||||
extern mod stb_image;
|
extern mod stb_image;
|
||||||
extern mod servo_net (name = "net");
|
extern mod servo_net (name = "net");
|
||||||
extern mod servo_util (name = "util");
|
extern mod servo_util (name = "util");
|
||||||
|
@ -29,9 +29,9 @@ extern mod harfbuzz;
|
||||||
#[cfg(target_os="linux")] #[cfg(target_os="android")] extern mod freetype;
|
#[cfg(target_os="linux")] #[cfg(target_os="android")] extern mod freetype;
|
||||||
|
|
||||||
// Mac OS-specific library dependencies
|
// Mac OS-specific library dependencies
|
||||||
#[cfg(target_os="macos")] extern mod core_foundation;
|
#[cfg(target_os="macos")] extern mod core_foundation = "rust-core-foundation";
|
||||||
#[cfg(target_os="macos")] extern mod core_graphics;
|
#[cfg(target_os="macos")] extern mod core_graphics = "rust-core-graphics";
|
||||||
#[cfg(target_os="macos")] extern mod core_text;
|
#[cfg(target_os="macos")] extern mod core_text = "rust-core-text";
|
||||||
|
|
||||||
pub use gfx_font = font;
|
pub use gfx_font = font;
|
||||||
pub use gfx_font_context = font_context;
|
pub use gfx_font_context = font_context;
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
/// Implementation of Quartz (CoreGraphics) fonts.
|
/// Implementation of Quartz (CoreGraphics) fonts.
|
||||||
|
|
||||||
extern mod core_foundation;
|
extern mod core_foundation = "rust-core-foundation";
|
||||||
extern mod core_graphics;
|
extern mod core_graphics = "rust-core-graphics";
|
||||||
extern mod core_text;
|
extern mod core_text = "rust-core-text";
|
||||||
|
|
||||||
use font::{CSSFontWeight, FontHandleMethods, FontMetrics, FontTableMethods};
|
use font::{CSSFontWeight, FontHandleMethods, FontMetrics, FontTableMethods};
|
||||||
use font::{FontTableTag, FontWeight100, FontWeight200, FontWeight300, FontWeight400};
|
use font::{FontTableTag, FontWeight100, FontWeight200, FontWeight300, FontWeight400};
|
||||||
|
|
|
@ -15,16 +15,15 @@
|
||||||
|
|
||||||
extern mod alert;
|
extern mod alert;
|
||||||
extern mod azure;
|
extern mod azure;
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
extern mod gfx (name = "gfx");
|
extern mod gfx (name = "gfx");
|
||||||
#[cfg(not(target_os="android"))]
|
#[cfg(not(target_os="android"))]
|
||||||
extern mod glfw;
|
extern mod glfw;
|
||||||
//extern mod http_client;
|
|
||||||
#[cfg(target_os="android")]
|
#[cfg(target_os="android")]
|
||||||
extern mod glut;
|
extern mod glut;
|
||||||
extern mod js;
|
extern mod js;
|
||||||
extern mod layers;
|
extern mod layers = "rust-layers";
|
||||||
extern mod opengles;
|
extern mod opengles = "rust-opengles";
|
||||||
extern mod png;
|
extern mod png;
|
||||||
extern mod script;
|
extern mod script;
|
||||||
extern mod servo_net (name = "net");
|
extern mod servo_net (name = "net");
|
||||||
|
@ -36,11 +35,9 @@ extern mod stb_image;
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
|
|
||||||
#[cfg(target_os="macos")]
|
#[cfg(target_os="macos")]
|
||||||
extern mod core_graphics;
|
extern mod core_graphics = "rust-core-graphics";
|
||||||
#[cfg(target_os="macos")]
|
#[cfg(target_os="macos")]
|
||||||
extern mod core_text;
|
extern mod core_text = "rust-core-text";
|
||||||
#[cfg(target_os="macos")]
|
|
||||||
extern mod io_surface;
|
|
||||||
|
|
||||||
use compositing::{CompositorChan, CompositorTask};
|
use compositing::{CompositorChan, CompositorTask};
|
||||||
use constellation::Constellation;
|
use constellation::Constellation;
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
|
|
||||||
extern mod azure;
|
extern mod azure;
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
extern mod layers;
|
extern mod layers = "rust-layers";
|
||||||
extern mod std;
|
extern mod std;
|
||||||
|
|
||||||
#[cfg(target_os="macos")]
|
#[cfg(target_os="macos")]
|
||||||
extern mod core_foundation;
|
extern mod core_foundation = "rust-core-foundation";
|
||||||
#[cfg(target_os="macos")]
|
#[cfg(target_os="macos")]
|
||||||
extern mod io_surface;
|
extern mod io_surface = "rust-io-surface";
|
||||||
|
|
||||||
pub mod compositor_msg;
|
pub mod compositor_msg;
|
||||||
pub mod constellation_msg;
|
pub mod constellation_msg;
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
#[feature(globs, managed_boxes)];
|
#[feature(globs, managed_boxes)];
|
||||||
|
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
extern mod http;
|
extern mod http;
|
||||||
extern mod servo_util (name = "util");
|
extern mod servo_util (name = "util");
|
||||||
extern mod stb_image;
|
extern mod stb_image;
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#[feature(globs, macro_rules, struct_variant, managed_boxes)];
|
#[feature(globs, macro_rules, struct_variant, managed_boxes)];
|
||||||
|
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
extern mod hubbub;
|
extern mod hubbub;
|
||||||
extern mod js;
|
extern mod js;
|
||||||
extern mod servo_net (name = "net");
|
extern mod servo_net (name = "net");
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#[feature(macro_rules, managed_boxes)];
|
#[feature(macro_rules, managed_boxes)];
|
||||||
|
|
||||||
extern mod extra;
|
extern mod extra;
|
||||||
extern mod geom;
|
extern mod geom = "rust-geom";
|
||||||
|
|
||||||
pub mod cache;
|
pub mod cache;
|
||||||
pub mod geometry;
|
pub mod geometry;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 71ca7ff52c7f342c95608c00bb0823aa8f39cd34
|
Subproject commit 4466b6fb89ffd45222176d9381c19aa474ef8a33
|
|
@ -1 +1 @@
|
||||||
Subproject commit b5ddb54271a9f783dce5c966cc2a39f0e52b1e68
|
Subproject commit a137ef84403e16ec877db5dedd8bcc8bd1fee0eb
|
|
@ -1 +1 @@
|
||||||
Subproject commit 747fb760771f07038267ae842a6fa1cb35586429
|
Subproject commit aae5ab44ae0f00846e86d705996d423c4a33da11
|
|
@ -1 +1 @@
|
||||||
Subproject commit 63982184a34edfbf70d436cc6a37b325b4c7a827
|
Subproject commit 7a05b0f77c92809d2d3bca00ab7d1264fc25b4df
|
|
@ -1 +1 @@
|
||||||
Subproject commit a4bd491ddfd5d17bdcb228cf515cce776e2b8239
|
Subproject commit cc6dd5ed3eafe81bd5924ac9bbffb004479510ca
|
|
@ -1 +1 @@
|
||||||
Subproject commit 10aee62cc9f7b47b57fb56acc760af93e4e48005
|
Subproject commit 13fbdbeddfccbc3e451fa9ae47f334f4f626a051
|
|
@ -1 +1 @@
|
||||||
Subproject commit 7fa173a07414f4e1bcf3419079d5b812195acc2d
|
Subproject commit 83f47c9b3129fed40ae9680d84dade478f331745
|
|
@ -1 +1 @@
|
||||||
Subproject commit 2550ff84238a9b063a920eb41766f84062593b56
|
Subproject commit 3626d203319a4d12ac68fecee11e18850e180e78
|
|
@ -1 +1 @@
|
||||||
Subproject commit d2cde75d928572e665942732f0cad4a35faf4182
|
Subproject commit c86eaa809c906d70aef4f3af0ac9f7377cc8e8ca
|
|
@ -1 +1 @@
|
||||||
Subproject commit 90152e93e0277106e7a21dd2c5cc287efe0da053
|
Subproject commit a67923a8f6e979f4839178712182f47ffa0033ab
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1867a2b938f459815935c099d3aa88eac594fd30
|
Subproject commit 734601de97d4498b02a765ee4057217c55404e20
|
Loading…
Add table
Add a link
Reference in a new issue