[tor-commits] [torbrowser/maint-2.2] Use -j for make where possible

erinn at torproject.org erinn at torproject.org
Thu Mar 8 20:43:00 UTC 2012


commit 2db2b6b051c79a92164b230bebc74578688f288c
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Fri Feb 3 16:17:14 2012 +0100

    Use -j for make where possible
---
 build-scripts/linux.mk   |   14 +++++++++-----
 build-scripts/osx.mk     |   15 ++++++++++-----
 build-scripts/windows.mk |   12 ++++++++----
 3 files changed, 27 insertions(+), 14 deletions(-)

diff --git a/build-scripts/linux.mk b/build-scripts/linux.mk
index 51d6af7..2131276 100644
--- a/build-scripts/linux.mk
+++ b/build-scripts/linux.mk
@@ -39,6 +39,10 @@ ARCH_TYPE=$(shell uname -m)
 BUILD_NUM=7.2
 PLATFORM=Linux
 
+## Build machine specific settings
+# Number of cpu cores used to build in parallel
+NUM_CORES=2
+
 ## Location of directory for source unpacking
 FETCH_DIR=/srv/build-trees/build-alpha-$(ARCH_TYPE)
 ## Location of directory for prefix/destdir/compiles/etc
@@ -52,7 +56,7 @@ ZLIB_DIR=$(FETCH_DIR)/zlib-$(ZLIB_VER)
 ZLIB_OPTS=--shared --prefix=$(BUILT_DIR)
 build-zlib:
 	cd $(ZLIB_DIR) && ./configure $(ZLIB_OPTS)
-	cd $(ZLIB_DIR) && make
+	cd $(ZLIB_DIR) && make -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && make install
 
 OPENSSL_DIR=$(FETCH_DIR)/openssl-$(OPENSSL_VER)
@@ -68,21 +72,21 @@ QT_BUILD_PREFS=-system-zlib -confirm-license -opensource -openssl-linked -no-qt3
 QT_OPTS=$(QT_BUILD_PREFS) -prefix $(BUILT_DIR) -I $(BUILT_DIR)/include -I $(BUILT_DIR)/include/openssl/ -L$(BUILT_DIR)/lib
 build-qt:
 	cd $(QT_DIR) && ./configure $(QT_OPTS)
-	cd $(QT_DIR) && make
+	cd $(QT_DIR) && make -j $(NUM_CORES)
 	cd $(QT_DIR) && make install
 
 VIDALIA_DIR=$(FETCH_DIR)/vidalia-$(VIDALIA_VER)
 VIDALIA_OPTS=-DOPENSSL_LIBCRYPTO=$(BUILT_DIR)/lib/libcrypto.so.1.0.0 -DOPENSSL_LIBSSL=$(BUILT_DIR)/lib/libssl.so.1.0.0 -DCMAKE_BUILD_TYPE=debug -DQT_QMAKE_EXECUTABLE=$(BUILT_DIR)/bin/qmake ..
 build-vidalia:
 	-mkdir $(VIDALIA_DIR)/build
-	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) && make
+	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) && make -j $(NUM_CORES)
 	cd $(VIDALIA_DIR)/build && DESTDIR=$(BUILT_DIR) make install
 
 LIBEVENT_DIR=$(FETCH_DIR)/libevent-$(LIBEVENT_VER)
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR)
 build-libevent:
 	cd $(LIBEVENT_DIR) && ./configure $(LIBEVENT_OPTS)
-	cd $(LIBEVENT_DIR) && make -j2
+	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
 
 LIBPNG_DIR=$(FETCH_DIR)/libpng-$(LIBPNG_VER)
@@ -96,7 +100,7 @@ TOR_DIR=$(FETCH_DIR)/tor-$(TOR_VER)
 TOR_OPTS=--enable-gcc-warnings --with-openssl-dir=$(BUILT_DIR) --with-zlib-dir=$(BUILT_DIR) --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR)
 build-tor:
 	cd $(TOR_DIR) && ./configure $(TOR_OPTS)
-	cd $(TOR_DIR) && make -j2
+	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
 
 ## Polipo doesn't use autoconf, so we just have to hack their Makefile
diff --git a/build-scripts/osx.mk b/build-scripts/osx.mk
index 20ea849..e77d85e 100644
--- a/build-scripts/osx.mk
+++ b/build-scripts/osx.mk
@@ -50,6 +50,10 @@ CF_MIN_VERSION=-isysroot $(SDK_PATH)
 LD_MIN_VERSION=-Wl,-syslibroot,$(SDK_PATH)
 BACKWARDS_COMPAT=$(MIN_VERSION) $(CF_MIN_VERSION) $(LD_MIN_VERSION)
 
+## Build machine specific settings
+# Number of cpu cores used to build in parallel
+NUM_CORES=2
+
 ## Location of directory for source unpacking
 FETCH_DIR=$(PWD)/build-$(ARCH_TYPE)
 ## Location of directory for prefix/destdir/compiles/etc
@@ -64,7 +68,7 @@ ZLIB_OPTS=--prefix=$(BUILT_DIR)
 ZLIB_CFLAGS="-arch $(ARCH_TYPE)"
 build-zlib:
 	cd $(ZLIB_DIR) && CFLAGS=$(ZLIB_CFLAGS) ./configure $(ZLIB_OPTS)
-	cd $(ZLIB_DIR) && make
+	cd $(ZLIB_DIR) && make -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && make install
 
 OPENSSL_DIR=$(FETCH_DIR)/openssl-$(OPENSSL_VER)
@@ -79,6 +83,7 @@ else
 	cd $(OPENSSL_DIR) && ./Configure darwin-i386-cc $(OPENSSL_OPTS)
 endif
 	cd $(OPENSSL_DIR) && make depend
+# Do not use -j for the following make call, random build errors might happen.
 	cd $(OPENSSL_DIR) && make
 	cd $(OPENSSL_DIR) && make install
 
@@ -88,7 +93,7 @@ QT_BUILD_PREFS=-system-zlib -confirm-license -opensource -openssl-linked -no-qt3
 QT_OPTS=$(QT_BUILD_PREFS) -prefix $(BUILT_DIR) -I $(BUILT_DIR)/include -I $(BUILT_DIR)/include/openssl/ -L $(BUILT_DIR)/lib
 build-qt:
 	cd $(QT_DIR) && ./configure $(QT_OPTS)
-	cd $(QT_DIR) && make -j2
+	cd $(QT_DIR) && make -j $(NUM_CORES)
 	cd $(QT_DIR) && make install
 
 VIDALIA_DIR=$(FETCH_DIR)/vidalia-$(VIDALIA_VER)
@@ -98,7 +103,7 @@ build-vidalia:
 	export MACOSX_DEPLOYMENT_TARGET=$(OSX_VERSION)
 	-mkdir $(VIDALIA_DIR)/build
 	cd $(VIDALIA_DIR)/build && cmake $(VIDALIA_OPTS) \
-	&& make && make dist-osx-libraries
+	&& make -j $(NUM_CORES) && make dist-osx-libraries
 	cd $(VIDALIA_DIR)/build && DESTDIR=$(BUILT_DIR) make install
 
 LIBEVENT_DIR=$(FETCH_DIR)/libevent-$(LIBEVENT_VER)
@@ -107,7 +112,7 @@ LIBEVENT_LDFLAGS="-L$(BUILT_DIR)/lib $(LD_MIN_VERSION)"
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR) --enable-static --disable-shared --disable-dependency-tracking $(CC)
 build-libevent:
 	cd $(LIBEVENT_DIR) && CFLAGS=$(LIBEVENT_CFLAGS) LDFLAGS=$(LIBEVENT_LDFLAGS) ./configure $(LIBEVENT_OPTS)
-	cd $(LIBEVENT_DIR) && make -j2
+	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
 
 TOR_DIR=$(FETCH_DIR)/tor-$(TOR_VER)
@@ -116,7 +121,7 @@ TOR_LDFLAGS="-L$(BUILT_DIR)/lib $(LD_MIN_VERSION)"
 TOR_OPTS=--enable-static-openssl --enable-static-libevent --with-openssl-dir=$(BUILT_DIR)/lib --with-libevent-dir=$(BUILT_DIR)/lib --prefix=$(BUILT_DIR) --disable-dependency-tracking $(CC)
 build-tor:
 	cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS)
-	cd $(TOR_DIR) && make
+	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
 
 FIREFOX_DIR=$(FETCH_DIR)/mozilla-release
diff --git a/build-scripts/windows.mk b/build-scripts/windows.mk
index 8feb6f9..52d93ed 100644
--- a/build-scripts/windows.mk
+++ b/build-scripts/windows.mk
@@ -60,6 +60,10 @@ MSVC_VER=9
 FIREFOX_DIR=/c/build/mozilla-build/mozilla-release
 MOZ_BUILD=/c/build/mozilla-build
 
+## Build machine specific settings
+# Number of cpu cores used to build in parallel
+NUM_CORES=2
+
 ## Location of directory for source unpacking
 FETCH_DIR=$(PWD)/build-alpha-windows
 ## Location of directory for prefix/destdir/compiles/etc
@@ -72,7 +76,7 @@ source-dance: fetch-source unpack-source
 ZLIB_DIR=$(FETCH_DIR)/zlib-$(ZLIB_VER)
 build-zlib:
 	cd $(ZLIB_DIR) && sed -i -e "s%prefix = /usr/local%prefix = ${BUILT_DIR}%" win32/Makefile.gcc
-	cd $(ZLIB_DIR) && LDFLAGS="-Wl,--nxcompat -Wl,--dynamicbase" make -f win32/Makefile.gcc
+	cd $(ZLIB_DIR) && LDFLAGS="-Wl,--nxcompat -Wl,--dynamicbase" make -f win32/Makefile.gcc -j $(NUM_CORES)
 	cd $(ZLIB_DIR) && BINARY_PATH="$(BUILT_DIR)/bin" INCLUDE_PATH="$(BUILT_DIR)/include" LIBRARY_PATH="$(BUILT_DIR)/lib" make -f win32/Makefile.gcc install
 
 OPENSSL_DIR=$(FETCH_DIR)/openssl-$(OPENSSL_VER)
@@ -88,7 +92,7 @@ VIDALIA_OPTS=-DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++ -Wl,--nxcompat -Wl,--dy
 build-vidalia:
 	-mkdir $(VIDALIA_DIR)/build
 	cd $(VIDALIA_DIR)/build && cmake -G "MSYS Makefiles" $(VIDALIA_OPTS) ..
-	cd $(VIDALIA_DIR)/build && make
+	cd $(VIDALIA_DIR)/build && make -j $(NUM_CORES)
 
 LIBEVENT_DIR=$(FETCH_DIR)/libevent-$(LIBEVENT_VER)
 LIBEVENT_CFLAGS="-I$(BUILT_DIR)/include -O -g"
@@ -96,7 +100,7 @@ LIBEVENT_LDFLAGS="-L$(BUILT_DIR)/lib -L$(BUILT_DIR)/bin -Wl,--nxcompat -Wl,--dyn
 LIBEVENT_OPTS=--prefix=$(BUILT_DIR) --enable-static --disable-shared --disable-dependency-tracking
 build-libevent:
 	cd $(LIBEVENT_DIR) && CFLAGS=$(LIBEVENT_CFLAGS) LDFLAGS=$(LIBEVENT_LDFLAGS) ./configure $(LIBEVENT_OPTS)
-	cd $(LIBEVENT_DIR) && make -j2
+	cd $(LIBEVENT_DIR) && make -j $(NUM_CORES)
 	cd $(LIBEVENT_DIR) && make install
 
 TOR_DIR=$(FETCH_DIR)/tor-$(TOR_VER)
@@ -106,7 +110,7 @@ TOR_OPTS=--enable-static-libevent --with-libevent-dir=$(BUILT_DIR)/lib --prefix=
 build-tor:PATH+=:$(BUILT_DIR)/bin
 build-tor:
 	cd $(TOR_DIR) && CFLAGS=$(TOR_CFLAGS) LDFLAGS=$(TOR_LDFLAGS) ./configure $(TOR_OPTS)
-	cd $(TOR_DIR) && make
+	cd $(TOR_DIR) && make -j $(NUM_CORES)
 	cd $(TOR_DIR) && make install
 
 patch-mozbuild:





More information about the tor-commits mailing list