Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organize all the source files into compiler/, components/, and platform/... #442

Merged
merged 1 commit into from May 15, 2013
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Organize all the source files into compiler/, components/, and platfo…

…rm/.
  • Loading branch information
pcwalton committed May 15, 2013
commit 7caa209039b5765138020ba4a34c9575392e49f5
@@ -1,87 +1,87 @@
[submodule "src/rust-azure"]
path = src/rust-azure
[submodule "src/support/azure/rust-azure"]
path = src/support/azure/rust-azure
url = https://github.com/mozilla-servo/rust-azure.git
[submodule "src/rust-cocoa"]
path = src/rust-cocoa
[submodule "src/platform/macos/rust-cocoa"]
path = src/platform/macos/rust-cocoa
url = https://github.com/mozilla-servo/rust-cocoa.git
[submodule "src/mozjs"]
path = src/mozjs
[submodule "src/support/spidermonkey/mozjs"]
path = src/support/spidermonkey/mozjs
url = https://github.com/mozilla-servo/mozjs.git
[submodule "src/rust-mozjs"]
path = src/rust-mozjs
[submodule "src/support/spidermonkey/rust-mozjs"]
path = src/support/spidermonkey/rust-mozjs
url = https://github.com/mozilla-servo/rust-mozjs.git
[submodule "src/rust-harfbuzz"]
path = src/rust-harfbuzz
[submodule "src/support/harfbuzz/rust-harfbuzz"]
path = src/support/harfbuzz/rust-harfbuzz
url = https://github.com/mozilla-servo/rust-harfbuzz.git
[submodule "src/rust-stb-image"]
path = src/rust-stb-image
[submodule "src/support/stb-image/rust-stb-image"]
path = src/support/stb-image/rust-stb-image
url = https://github.com/mozilla-servo/rust-stb-image.git
[submodule "src/rust-geom"]
path = src/rust-geom
[submodule "src/support/geom/rust-geom"]
path = src/support/geom/rust-geom
url = https://github.com/mozilla-servo/rust-geom.git
[submodule "src/rust-opengles"]
path = src/rust-opengles
[submodule "src/support/opengles/rust-opengles"]
path = src/support/opengles/rust-opengles
url = https://github.com/mozilla-servo/rust-opengles.git
[submodule "src/rust-glut"]
path = src/rust-glut
[submodule "src/support/glut/rust-glut"]
path = src/support/glut/rust-glut
url = https://github.com/mozilla-servo/rust-glut.git
[submodule "src/rust-layers"]
path = src/rust-layers
[submodule "src/support/layers/rust-layers"]
path = src/support/layers/rust-layers
url = https://github.com/mozilla-servo/rust-layers.git
[submodule "src/rust-http-client"]
path = src/rust-http-client
[submodule "src/support/http-client/rust-http-client"]
path = src/support/http-client/rust-http-client
url = https://github.com/mozilla-servo/rust-http-client.git
[submodule "src/libhubbub"]
path = src/libhubbub
[submodule "src/support/hubbub/libhubbub"]
path = src/support/hubbub/libhubbub
url = https://github.com/mozilla-servo/libhubbub.git
[submodule "src/libparserutils"]
path = src/libparserutils
[submodule "src/support/libparserutils/libparserutils"]
path = src/support/libparserutils/libparserutils
url = https://github.com/mozilla-servo/libparserutils.git
[submodule "src/rust-hubbub"]
path = src/rust-hubbub
[submodule "src/support/hubbub/rust-hubbub"]
path = src/support/hubbub/rust-hubbub
url = https://github.com/mozilla-servo/rust-hubbub.git
[submodule "src/rust-core-foundation"]
path = src/rust-core-foundation
[submodule "src/platform/macos/rust-core-foundation"]
path = src/platform/macos/rust-core-foundation
url = https://github.com/mozilla-servo/rust-core-foundation.git
[submodule "src/rust-io-surface"]
path = src/rust-io-surface
[submodule "src/platform/macos/rust-io-surface"]
path = src/platform/macos/rust-io-surface
url = https://github.com/mozilla-servo/rust-io-surface.git
[submodule "src/sharegl"]
path = src/sharegl
[submodule "src/support/sharegl/sharegl"]
path = src/support/sharegl/sharegl
url = https://github.com/mozilla-servo/sharegl.git
[submodule "src/libwapcaplet"]
path = src/libwapcaplet
[submodule "src/support/wapcaplet/libwapcaplet"]
path = src/support/wapcaplet/libwapcaplet
url = https://github.com/mozilla-servo/libwapcaplet.git
[submodule "src/libcss"]
path = src/libcss
[submodule "src/support/css/libcss"]
path = src/support/css/libcss
url = https://github.com/mozilla-servo/libcss.git
[submodule "src/rust-netsurfcss"]
path = src/rust-netsurfcss
[submodule "src/support/netsurfcss/rust-netsurfcss"]
path = src/support/netsurfcss/rust-netsurfcss
url = https://github.com/mozilla-servo/rust-netsurfcss.git
[submodule "src/rust-wapcaplet"]
path = src/rust-wapcaplet
[submodule "src/support/wapcaplet/rust-wapcaplet"]
path = src/support/wapcaplet/rust-wapcaplet
url = https://github.com/mozilla-servo/rust-wapcaplet.git
[submodule "src/rust-core-graphics"]
path = src/rust-core-graphics
[submodule "src/platform/macos/rust-core-graphics"]
path = src/platform/macos/rust-core-graphics
url = https://github.com/mozilla-servo/rust-core-graphics.git
[submodule "src/rust-core-text"]
path = src/rust-core-text
[submodule "src/platform/macos/rust-core-text"]
path = src/platform/macos/rust-core-text
url = https://github.com/mozilla-servo/rust-core-text.git
[submodule "src/rust-freetype"]
path = src/rust-freetype
[submodule "src/platform/linux/rust-freetype"]
path = src/platform/linux/rust-freetype
url = https://github.com/mozilla-servo/rust-freetype.git
[submodule "src/rust-fontconfig"]
path = src/rust-fontconfig
[submodule "src/platform/linux/rust-fontconfig"]
path = src/platform/linux/rust-fontconfig
url = https://github.com/mozilla-servo/rust-fontconfig.git
[submodule "src/rust-xlib"]
path = src/rust-xlib
[submodule "src/platform/linux/rust-xlib"]
path = src/platform/linux/rust-xlib
url = https://github.com/mozilla-servo/rust-xlib.git
[submodule "src/rust-css"]
path = src/rust-css
[submodule "src/support/css/rust-css"]
path = src/support/css/rust-css
url = https://github.com/mozilla-servo/rust-css.git
[submodule "src/skia"]
path = src/skia
[submodule "src/support/skia/skia"]
path = src/support/skia/skia
url = https://github.com/mozilla-servo/skia.git
[submodule "src/rust"]
path = src/rust
[submodule "src/compiler/rust"]
path = src/compiler/rust
url = https://github.com/mozilla/rust.git
@@ -78,10 +78,10 @@ $(S)config.stamp : $(S)configure $(S)Makefile.in
# Build the compiler
ifneq ($(CFG_LOCAL_RUSTC),1)
$(CFG_RUSTC):
$(MAKE) -C "$(CFG_BUILD_DIR)src/rust" CFG_RUSTC_FLAGS="" RUSTFLAGS=""
$(MAKE) -C "$(CFG_BUILD_DIR)src/compiler/rust" CFG_RUSTC_FLAGS="" RUSTFLAGS=""

clean-rust:
$(MAKE) -C "$(CFG_BUILD_DIR)src/rust" CFG_RUSTC_FLAGS="" RUSTFLAGS="" clean
$(MAKE) -C "$(CFG_BUILD_DIR)src/compiler/rust" CFG_RUSTC_FLAGS="" RUSTFLAGS="" clean
else
$(CFG_RUSTC):

@@ -91,6 +91,13 @@ endif

rust: $(CFG_RUSTC)

# Strip off submodule paths to determine "raw" submodule names.
SUBMODULES=$(shell echo $(CFG_SUBMODULES) | perl -p -e 's![A-Za-z0-9_-]+/!!g')

# Define e.g. PATH_rust-io-surface = platform/macos/rust-io-surface
$(foreach submodule,$(CFG_SUBMODULES),\
$(eval PATH_$(shell echo $(submodule) | perl -p -e 's![A-Za-z0-9_-]+/!!g') = $(submodule)))

define DEF_SUBMODULE_VARS

#defaults
@@ -106,29 +113,34 @@ endif
#
# We can't auto-compute this, because some modules have lib* prefix in
# their name already, while others don't.
DONE_$(1) = $$(B)src/$(1)/lib*.dummy
DEPS_SUBMODULES += $(1)
DONE_$(1) = $$(B)src/$$(PATH_$(1))/lib*.dummy
DEPS_SUBMODULES += $$(PATH_$(1))
endef

# these will get populated.
DEPS_SUBMODULES =

$(foreach submodule,$(CFG_SUBMODULES),\
$(foreach submodule,$(SUBMODULES),\
$(eval $(call DEF_SUBMODULE_VARS,$(submodule))))

$(info $(DEPS_SUBMODULES))

# include submodule dependencies configuration
include $(S)mk/sub.mk

# Define how to make submodule targets
define DEF_SUBMODULE_RULES

ENV_RLDFLAGS_$(1) = $$(foreach dep,$$(DEPS_$(1)),-L $$(B)src/$$(PATH_$$(dep)))

# variables that depend on dependency definitions from sub.mk!
ENV_CFLAGS_$(1) = CFLAGS="$$(CFLAGS_$(1))"
ENV_RFLAGS_$(1) = RUSTFLAGS="$$(strip $$(CFG_RUSTC_FLAGS)) $$(addprefix -L $$(B)src/,$$(DEPS_$(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/$(1),*h *c *cpp *rs *rc)
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
# --
@@ -148,46 +160,46 @@ $$(DONE_$(1)) : $$(DONE_DEPS_$(1)) $$(ROUGH_DEPS_$(1)) $$(RUSTC_DEP_$(1))
$$(Q) \
$$(ENV_CFLAGS_$(1)) \
$$(ENV_RFLAGS_$(1)) \
$$(MAKE) -C $$(B)src/$(1) && touch $$(DONE_$(1))
$$(MAKE) -C $$(B)src/$$(PATH_$(1)) && touch $$(DONE_$(1))

# main submodule target
$(1) : $$(DONE_$(1))
.PHONY : $(1)
.NOTPARALLEL : $(1)
endef

$(foreach submodule,$(CFG_SUBMODULES),\
$(foreach submodule,$(SUBMODULES),\
$(eval $(call DEF_SUBMODULE_RULES,$(submodule))))

DONE_SUBMODULES = $(foreach dep,$(DEPS_SUBMODULES),$(DONE_$(dep)))
DONE_SUBMODULES = $(foreach submodule,$(SUBMODULES),$(DONE_$(submodule)))

RFLAGS_servo_util = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES))
SRC_servo_util = $(call rwildcard,$(S)src/servo-util/,*.rs)
CRATE_servo_util = $(S)src/servo-util/servo_util.rc
DONE_servo_util = $(B)src/servo-util/libservoutil.dummy
SRC_servo_util = $(call rwildcard,$(S)src/components/servo-util/,*.rs)
CRATE_servo_util = $(S)src/components/servo-util/servo_util.rc
DONE_servo_util = $(B)src/components/servo-util/libservoutil.dummy

DEPS_servo_util = $(CRATE_servo_util) $(SRC_servo_util) $(DONE_SUBMODULES)

RFLAGS_servo_net = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-util
SRC_servo_net = $(call rwildcard,$(S)src/servo-net/,*.rs)
CRATE_servo_net = $(S)src/servo-net/servo_net.rc
DONE_servo_net = $(B)src/servo-net/libservonet.dummy
RFLAGS_servo_net = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/servo-util
SRC_servo_net = $(call rwildcard,$(S)src/components/servo-net/,*.rs)
CRATE_servo_net = $(S)src/components/servo-net/servo_net.rc
DONE_servo_net = $(B)src/components/servo-net/libservonet.dummy

DEPS_servo_net = $(CRATE_servo_net) $(SRC_servo_net) $(DONE_SUBMODULES) $(DONE_servo_util)

RFLAGS_servo_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-util -L $(B)src/servo-net
SRC_servo_gfx = $(call rwildcard,$(S)src/servo-gfx/,*.rs)
CRATE_servo_gfx = $(S)src/servo-gfx/servo_gfx.rc
DONE_servo_gfx = $(B)src/servo-gfx/libservogfx.dummy
RFLAGS_servo_gfx = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/servo-util -L $(B)src/components/servo-net
SRC_servo_gfx = $(call rwildcard,$(S)src/components/servo-gfx/,*.rs)
CRATE_servo_gfx = $(S)src/components/servo-gfx/servo_gfx.rc
DONE_servo_gfx = $(B)src/components/servo-gfx/libservogfx.dummy

DEPS_servo_gfx = $(CRATE_servo_gfx) $(SRC_servo_gfx) $(DONE_SUBMODULES) $(DONE_servo_util) $(DONE_servo_net)

RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/servo-gfx -L $(B)src/servo-util -L $(B)src/servo-net
RFLAGS_servo = $(strip $(CFG_RUSTC_FLAGS)) $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/servo-gfx -L $(B)src/components/servo-util -L $(B)src/components/servo-net

WEBIDL_servo = $(call rwildcard,$(S)src/servo/,*.webidl)
WEBIDL_servo = $(call rwildcard,$(S)src/components/servo/,*.webidl)
AUTOGEN_SRC_servo = $(patsubst %.webidl, %Binding.rs, $(WEBIDL_servo))
SRC_servo = $(call rwildcard,$(S)src/servo/,*.rs) $(AUTOGEN_SRC_servo)
CRATE_servo = $(S)src/servo/servo.rc
SRC_servo = $(call rwildcard,$(S)src/components/servo/,*.rs) $(AUTOGEN_SRC_servo)
CRATE_servo = $(S)src/components/servo/servo.rc

DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(DONE_servo_util) $(DONE_servo_gfx) $(DONE_servo_net)

@@ -210,7 +222,7 @@ $(DONE_servo_net): $(DEPS_servo_net)
$(DONE_servo_gfx): $(DEPS_servo_gfx)
$(RUSTC) $(RFLAGS_servo_gfx) -o $@ $< && touch $@

BINDINGS_SRC = $(S)/src/servo/dom/bindings/codegen
BINDINGS_SRC = $(S)/src/components/servo/dom/bindings/codegen

CACHE_DIR = $(BINDINGS_SRC)/_cache

@@ -249,12 +261,12 @@ servo: $(DEPS_servo)
ifeq ($(OSTYPE),apple-darwin)

package: servo
mkdir -p Servo.app/Contents/MacOS/src/rust-cocoa
mkdir -p Servo.app/Contents/MacOS/src/rust-azure
mkdir -p Servo.app/Contents/MacOS/src/platform/macos/rust-cocoa
mkdir -p Servo.app/Contents/MacOS/src/platform/macos/rust-azure
cp $(S)/Info.plist Servo.app/Contents/
cp servo Servo.app/Contents/MacOS/
cp src/rust-cocoa/lib*.dylib Servo.app/Contents/MacOS/src/rust-cocoa/
cp src/rust-azure/lib*.dylib Servo.app/Contents/MacOS/src/rust-azure/
cp src/platform/macos/rust-cocoa/lib*.dylib Servo.app/Contents/MacOS/src/platform/macos/rust-cocoa/
cp src/platform/macos/rust-azure/lib*.dylib Servo.app/Contents/MacOS/src/platform/macos/rust-azure/

else

@@ -272,8 +284,8 @@ endif

.PHONY: backup-rust restore-rust
backup-rust:
mv src/rust ..
mv src/compiler/rust ..

restore-rust:
rm -rf src/rust
rm -rf src/compiler/rust
mv ../rust src/
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.