commit a08b546605d13d82e6f664bf8e2d8b3caf61327c
Author: Shondoit Walker <[email protected]>
Date:   Wed Jul 25 22:18:19 2012 +0200

    Add option for automatic build of obfsproxy TBBs.
    
    Introduces the flag USE_OBFSPROXY. When set to 1, an obfsproxy bundle will 
be build.
---
 build-scripts/linux-alpha.mk   |   34 +++++++++++++++++++++++++++++++++-
 build-scripts/osx-alpha.mk     |   31 ++++++++++++++++++++++++++++++-
 build-scripts/windows-alpha.mk |   32 +++++++++++++++++++++++++++++---
 3 files changed, 92 insertions(+), 5 deletions(-)

diff --git a/build-scripts/linux-alpha.mk b/build-scripts/linux-alpha.mk
index 96d715d..28cfa40 100644
--- a/build-scripts/linux-alpha.mk
+++ b/build-scripts/linux-alpha.mk
@@ -82,6 +82,13 @@ TOR_OPTS=--with-openssl-dir=$(BUILT_DIR) 
--with-zlib-dir=$(BUILT_DIR) --with-lib
 build-pidgin:
        echo "We're not building pidgin yet!"
 
+build-obfsproxy: $(OBFSPROXY_DIR)
+ifeq ($(USE_OBFSPROXY),1)
+       cd $(OBFSPROXY_DIR) && libevent_CFLAGS=-I$(BUILT_DIR)/include 
libevent_LIBS="-L$(BUILT_DIR)/lib -levent" 
libcrypto_CFLAGS=-I$(BUILT_DIR)/include/openssl 
libcrypto_LIBS="-L$(BUILT_DIR)/lib -lssl -lcrypto" ./configure 
--prefix=$(BUILT_DIR)
+       cd $(OBFSPROXY_DIR) && make
+       cd $(OBFSPROXY_DIR) && make install
+endif
+
 build-firefox: config/dot_mozconfig $(FIREFOX_DIR)
        cp config/dot_mozconfig $(FIREFOX_DIR)/mozconfig
        cp branding/* $(FIREFOX_DIR)/browser/branding/official
@@ -94,7 +101,7 @@ copy-firefox:
        mkdir -p $(BUILD_DIR)/Firefox
        cp -r $(FIREFOX_DIR)/obj-$(ARCH_TYPE)-*/dist/firefox/* 
$(BUILD_DIR)/Firefox
 
-build-all-binaries: source-dance build-zlib build-openssl build-libpng 
build-qt build-vidalia build-libevent build-tor build-firefox copy-firefox
+build-all-binaries: source-dance build-zlib build-openssl build-libpng 
build-qt build-vidalia build-libevent build-tor build-firefox copy-firefox 
build-obfsproxy
        echo "If we're here, we've done something right."
 
 ## Location of compiled libraries
@@ -115,12 +122,17 @@ VIDALIA=$(BUILT_DIR)/usr/local/bin/vidalia
 ## Someday, this will be our custom Firefox
 FIREFOX=$(BUILD_DIR)/Firefox
 PIDGIN=$(COMPILED_BINS)/pidgin
+OBFSPROXY=$(COMPILED_BINS)/obfsproxy
 
 ## Location of utility applications
 WGET:=$(shell which wget)
 
 ## Destination for the generic bundle
+ifeq ($(USE_OBFSPROXY),1)
+DEST=generic-obfsproxy-bundle
+else
 DEST=generic-bundle
+endif
 
 ## Name of the bundle
 NAME=tor-browser
@@ -131,6 +143,7 @@ DISTDIR=tbbl-alpha-dist
 ## Version and name of the compressed bundle (also used for source)
 VERSION=$(RELEASE_VER)-$(BUILD_NUM)-dev
 DEFAULT_COMPRESSED_BASENAME=tor-browser-gnu-linux-$(ARCH_TYPE)-$(VERSION)-
+OBFS_COMPRESSED_BASENAME=tor-obfsproxy-browser-gnu-linux-$(ARCH_TYPE)-$(VERSION)-
 IM_COMPRESSED_BASENAME=tor-im-browser-gnu-linux-$(VERSION)-
 DEFAULT_COMPRESSED_NAME=$(DEFAULT_COMPRESSED_BASENAME)$(VERSION)
 IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
@@ -138,8 +151,12 @@ IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
 ifeq ($(USE_PIDGIN),1)
 COMPRESSED_NAME=$(IM_COMPRESSED_NAME)
 else
+ifeq ($(USE_OBFSPROXY),1)
+COMPRESSED_NAME=$(OBFS_COMPRESSED_NAME)
+else
 COMPRESSED_NAME=$(DEFAULT_COMPRESSED_NAME)
 endif
+endif
 
 ## Extensions to install by default
 DEFAULT_EXTENSIONS=torbutton.xpi noscript.xpi httpseverywhere.xpi
@@ -261,6 +278,9 @@ install-binaries:
        # Vidalia
        cp $(VIDALIA) $(APPDIR)
        cp $(TOR) $(APPDIR)
+ifeq ($(USE_OBFSPROXY),1)
+       cp $(OBFSPROXY) $(APPDIR)
+endif
 
 ## Fixup
 ## Collect up license files
@@ -274,6 +294,10 @@ install-docs:
        cp ../changelog.linux-2.3 $(DOCSDIR)/changelog
        # This should be updated to be more generic (version-wise) and more 
Linux specific
        cp ../README.LINUX-2.3 $(DOCSDIR)/README-TorBrowserBundle
+ifeq ($(USE_OBFSPROXY),1)
+       mkdir -p $(DOCSDIR)/Obfsproxy
+       cp $(OBFSPROXY_DIR)/LICENSE $(DOCSDIR)/Obfsproxy
+endif
 
 ## Copy over Firefox
 install-firefox:
@@ -304,10 +328,18 @@ endif
 ifeq ($(USE_PIDGIN),1)
        cp config/vidalia.conf.ff+pidgin-linux $(DEST)/Data/Vidalia/vidalia.conf
 else
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/alpha/vidalia.conf.ff-obfsproxy-linux 
$(DEST)/Data/Vidalia/vidalia.conf
+else
        cp config/alpha/vidalia.conf.ff-linux $(DEST)/Data/Vidalia/vidalia.conf
 endif
+endif
        ## Configure Tor
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/alpha/torrc-obfsproxy-linux $(DEST)/Data/Tor/torrc
+else
        cp config/alpha/torrc-linux $(DEST)/Data/Tor/torrc
+endif
        cp $(TOR_DIR)/src/config/geoip $(DEST)/Data/Tor/geoip
        chmod 700 $(DEST)/Data/Tor
 
diff --git a/build-scripts/osx-alpha.mk b/build-scripts/osx-alpha.mk
index 4c6a1a4..9f1319d 100644
--- a/build-scripts/osx-alpha.mk
+++ b/build-scripts/osx-alpha.mk
@@ -117,6 +117,13 @@ TOR_CFLAGS="-arch $(ARCH_TYPE) -I$(BUILT_DIR)/include 
$(MIN_VERSION) $(CF_MIN_VE
 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 
--disable-dependency-tracking $(CC)
 
+build-obfsproxy: $(OBFSPROXY_DIR)
+ifeq ($(USE_OBFSPROXY),1)
+       cd $(OBFSPROXY_DIR) && libevent_CFLAGS=-I$(BUILT_DIR)/include 
libevent_LIBS="-L$(BUILT_DIR)/lib -levent" 
libcrypto_CFLAGS=-I$(BUILT_DIR)/include/openssl 
libcrypto_LIBS="-L$(BUILT_DIR)/lib -lssl -lcrypto" ./configure 
--prefix=$(BUILT_DIR)
+       cd $(OBFSPROXY_DIR) && make
+       cd $(OBFSPROXY_DIR) && make install
+endif
+
 build-firefox: $(FIREFOX_DIR) config/mozconfig-osx-$(ARCH_TYPE)
        cp config/mozconfig-osx-$(ARCH_TYPE) $(FIREFOX_DIR)/mozconfig
        cp branding/* $(FIREFOX_DIR)/browser/branding/official
@@ -127,7 +134,7 @@ copy-firefox:
        -rm -rf $(BUILD_DIR)/TorBrowser.app
        cp -r $(FIREFOX_DIR)/obj*/dist/*.app $(BUILD_DIR)/TorBrowser.app
 
-build-all-binaries: build-zlib build-openssl build-vidalia build-libevent 
build-tor build-firefox
+build-all-binaries: build-zlib build-openssl build-vidalia build-libevent 
build-tor build-firefox build-obfsproxy
        echo "If we're here, we've done something right."
 
 ## Location of compiled libraries
@@ -147,12 +154,17 @@ TOR=$(COMPILED_BINS)/tor
 ## Someday, this will be our custom Firefox
 FIREFOX=$(BUILD_DIR)/TorBrowser.app
 PIDGIN=$(COMPILED_BINS)/pidgin
+OBFSPROXY=$(COMPILED_BINS)/obfsproxy
 
 ## Location of utility applications
 WGET:=$(shell which wget)
 
 ## Destination for the generic bundle
+ifeq ($(USE_OBFSPROXY),1)
+DEST=generic-obfsproxy-bundle
+else
 DEST=generic-bundle
+endif
 
 ## Name of the bundle
 NAME=TorBrowser
@@ -163,6 +175,7 @@ DISTDIR=tbbosx-alpha-dist
 ## Version and name of the compressed bundle (also used for source)
 VERSION=$(RELEASE_VER)-$(BUILD_NUM)
 DEFAULT_COMPRESSED_BASENAME=TorBrowser-$(VERSION)-osx-$(ARCH_TYPE)-
+OBFS_COMPRESSED_BASENAME=TorBrowser-Obfsproxy-$(VERSION)-osx-$(ARCH_TYPE)-
 IM_COMPRESSED_BASENAME=TorBrowser-IM-$(VERSION)-
 DEFAULT_COMPRESSED_NAME=$(DEFAULT_COMPRESSED_BASENAME)
 IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
@@ -170,8 +183,12 @@ IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
 ifeq ($(USE_PIDGIN),1)
 COMPRESSED_NAME=$(IM_COMPRESSED_NAME)
 else
+ifeq ($(USE_OBFSPROXY),1)
+COMPRESSED_NAME=$(OBFS_COMPRESSED_NAME)
+else
 COMPRESSED_NAME=$(DEFAULT_COMPRESSED_NAME)
 endif
+endif
 
 ## Extensions to install by default
 DEFAULT_EXTENSIONS=torbutton.xpi
@@ -270,6 +287,9 @@ install-binaries:
        # Vidalia
        cp -R $(VIDALIA) $(APPDIR)/Vidalia.app
        cp $(TOR) $(APPDIR)
+ifeq ($(USE_OBFSPROXY),1)
+       cp $(OBFSPROXY) $(APPDIR)
+endif
 
 VIDALIA_PLUGINS=$(BUILD_DIR)/vidalia-plugins
 install-plugins:
@@ -310,14 +330,23 @@ configure-apps:
        mkdir -p $(DEST)/Library/Vidalia/plugins
        #cp -r $(BUILD_DIR)/vidalia-plugins/tbb $(DEST)/Library/Vidalia/plugins
        mkdir -p $(DEST)/Library/Vidalia
+
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/vidalia.conf.ff-obfsproxy-osx 
$(DEST)/Library/Vidalia/vidalia.conf
+else
 ifeq ($(USE_SANDBOX),1)
        cp config/vidalia.conf.ff-osx-sandbox 
$(DEST)/Library/Vidalia/vidalia.conf
 else
        cp config/alpha/vidalia.conf.ff-osx $(DEST)/Library/Vidalia/vidalia.conf
 endif
+endif
 
        ## Configure Tor
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/alpha/torrc-obfsproxy-osx $(DEST)/Library/Vidalia/torrc
+else
        cp config/alpha/torrc-osx $(DEST)/Library/Vidalia/torrc
+endif
        cp $(TOR_DIR)/src/config/geoip $(DEST)/Contents/Resources/Data/Tor/geoip
        chmod 700 $(DATADIR)/Tor
 
diff --git a/build-scripts/windows-alpha.mk b/build-scripts/windows-alpha.mk
index 39dffe5..97ababf 100644
--- a/build-scripts/windows-alpha.mk
+++ b/build-scripts/windows-alpha.mk
@@ -81,7 +81,7 @@ build-qt: build-zlib build-openssl $(QT_DIR)
 VIDALIA_OPTS=-DCMAKE_EXE_LINKER_FLAGS="-static-libstdc++ -Wl,--nxcompat 
-Wl,--dynamicbase" -DWIN2K=1 -DQT_QMAKE_EXECUTABLE=$(QT_LIB)/qmake 
-DCMAKE_BUILD_TYPE=minsizerel -DMINGW_BINARY_DIR=$(MING) 
-DWIX_BINARY_DIR=$(WIX_LIB)
 # XXX Once we build qt on windows, we'll want to add build-qt here
 build-vidalia: PATH+=:$(QT_LIB)
-build-vidalia: $(VIDALIA_DIR) $(WIX_LIB)
+build-vidalia: $(VIDALIA_DIR) | $(WIX_LIB)
        -mkdir $(VIDALIA_DIR)/build
        cd $(VIDALIA_DIR)/build && cmake -G "MSYS Makefiles" $(VIDALIA_OPTS) ..
        cd $(VIDALIA_DIR)/build && make -j $(NUM_CORES)
@@ -103,10 +103,12 @@ TOR_LDFLAGS="-L$(BUILT_DIR)/lib -L$(BUILT_DIR)/bin"
 TOR_OPTS=--enable-static-libevent --with-libevent-dir=$(BUILT_DIR)/lib 
--disable-asciidoc
 build-tor:PATH+=:$(BUILT_DIR)/bin
 
-build-obfsproxy:
+build-obfsproxy: $(OBFSPROXY_DIR)
+ifeq ($(USE_OBFSPROXY),1)
        cd $(OBFSPROXY_DIR) && libevent_CFLAGS=-I$(BUILT_DIR)/include 
libevent_LIBS="-L$(BUILT_DIR)/lib -levent" 
libcrypto_CFLAGS=-I$(BUILT_DIR)/include/openssl 
libcrypto_LIBS="-L$(BUILT_DIR)/lib -lssl -lcrypto" ./configure 
--prefix=$(BUILT_DIR)
        cd $(OBFSPROXY_DIR) && make
        cd $(OBFSPROXY_DIR) && make install
+endif
 
 build-firefox: $(FIREFOX_DIR) config/dot_mozconfig $(MOZBUILD_DIR) 
$(MOZBUILD_DIR)/start-msvc$(MSVC_VER).bat | $(PYTHON) $(PYMAKE_DIR)
        cp config/dot_mozconfig $(FIREFOX_DIR)/mozconfig
@@ -121,7 +123,7 @@ copy-firefox:
        cp "/c/Program Files (x86)/Microsoft Visual Studio 
9.0/VC/redist/x86/Microsoft.VC90.CRT/"msvc*90.dll $(FIREFOX)/App/Firefox
        cp -r $(FIREFOX_DIR)/obj-*/dist/firefox/* $(FIREFOX)/App/Firefox
 
-build-all-binaries: build-zlib build-openssl build-vidalia build-libevent 
build-tor build-firefox copy-firefox
+build-all-binaries: build-zlib build-openssl build-vidalia build-libevent 
build-tor build-firefox copy-firefox build-obfsproxy
        echo "If we're here, we've done something right."
 
 ## Location of compiled libraries
@@ -137,7 +139,11 @@ LIBEVENT=$(COMPILED_LIBS)
 
 
 ## Destination for the generic bundle
+ifeq ($(USE_OBFSPROXY),1)
+DEST="Generic Obfsproxy Bundle"
+else
 DEST="Generic Bundle"
+endif
 
 ## Name of the bundle
 NAME="Tor Browser"
@@ -148,6 +154,7 @@ DISTDIR=tbbwin-alpha-dist
 ## Version and name of the compressed bundle (also used for source)
 VERSION=$(RELEASE_VER)-$(BUILD_NUM)
 DEFAULT_COMPRESSED_BASENAME=tor-browser-$(VERSION)
+OBFS_COMPRESSED_BASENAME=tor-obfsproxy-browser-$(VERSION)
 IM_COMPRESSED_BASENAME=tor-im-browser-$(VERSION)
 DEFAULT_COMPRESSED_NAME=$(DEFAULT_COMPRESSED_BASENAME)
 IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
@@ -155,8 +162,12 @@ IM_COMPRESSED_NAME=$(IM_COMPRESSED_BASENAME)$(VERSION)
 ifeq ($(USE_PIDGIN),1)
 COMPRESSED_NAME=$(IM_COMPRESSED_NAME)
 else
+ifeq ($(USE_OBFSPROXY),1)
+COMPRESSED_NAME=$(OBFS_COMPRESSED_BASENAME)
+else
 COMPRESSED_NAME=$(DEFAULT_COMPRESSED_NAME)
 endif
+endif
 
 ## Extensions to install by default
 DEFAULT_EXTENSIONS=torbutton.xpi
@@ -260,6 +271,9 @@ install-binaries:
        cp $(OPENSSL_LIB)/libeay32.dll $(APPDIR)
        cp $(VIDALIA)/build/src/vidalia/vidalia.exe $(APPDIR)
        cp $(TOR)/src/or/tor.exe $(APPDIR)
+ifeq ($(USE_OBFSPROXY),1)
+       cp $(OBFSPROXY_DIR)/obfsproxy.exe $(APPDIR)
+endif
 
 install-plugins:
        mkdir -p $(DATADIR)/Vidalia/plugins
@@ -280,6 +294,10 @@ install-docs:
        cp $(MING)/../msys/1.0/share/doc/MSYS/COPYING $(DOCSDIR)/MinGW
        cp ../changelog.windows-2.3 $(DOCSDIR)/changelog
        cp ../README.WIN-2.3 $(DOCSDIR)/README-TorBrowserBundle
+ifeq ($(USE_OBFSPROXY),1)
+       mkdir -p $(DOCSDIR)/Obfsproxy
+       cp $(OBFSPROXY_DIR)/LICENSE $(DOCSDIR)/Obfsproxy
+endif
 
 ## Copy over FirefoxPortable
 install-firefoxportable:
@@ -319,10 +337,18 @@ endif
 ifeq ($(USE_PIDGIN),1)
        cp config/alpha/vidalia.conf.ff+pidgin $(DEST)/Data/Vidalia/vidalia.conf
 else
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/alpha/vidalia.conf.ff-obfsproxy 
$(DEST)/Data/Vidalia/vidalia.conf
+else
        cp config/alpha/vidalia.conf.ff $(DEST)/Data/Vidalia/vidalia.conf
 endif
+endif
        ## Configure Tor
+ifeq ($(USE_OBFSPROXY),1)
+       cp config/alpha/torrc-obfsproxy $(DEST)/Data/Tor/torrc
+else
        cp config/alpha/torrc $(DEST)/Data/Tor/torrc
+endif
        cp $(TOR)/src/config/geoip $(DEST)/Data/Tor
 
 launcher:



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to