diff -r da073b397539 -r 498e3929e555 tunblick/third_party/Makefile --- a/tunblick/third_party/Makefile Wed Jul 29 11:28:31 2009 +0200 +++ b/tunblick/third_party/Makefile Wed Jul 29 11:29:59 2009 +0200 @@ -2,85 +2,74 @@ # It shouldn't be called by anything other than automated scripts # Both lzo and openvpn should be built universally +# MSvB: ...using four architectures i386, x86_64, ppc, and ppc64 -LZO_DIR=lzo-2.02 +HOSTARCH=x86_64 +LZO_DIR=lzo-2.03 PKCS11_DIR=pkcs11-helper-1.07 -all: tuntap lzo openvpn +all: tuntap openvpn -pkcs11-helper:: - @for a in ppc i686; do \ - echo Configure PKCS11-Helper for $$a; \ - cd $(PKCS11_DIR); \ - echo Forcefully be clean; \ - $(MAKE) clean; \ - OPENSSL_LIBS="-lcrypto" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --enable-static --disable-dependency-tracking --prefix=$$(pwd)/staging_$$a/ --includedir=$$(pwd)/staging/include/; \ - echo Build PKCS11-Helper; \ - $(MAKE); \ - echo Install to third_party/$(PKCS11_DIR)/staging_$$a; \ - $(MAKE) install; \ - cd ../; \ - done - mkdir -p $(PKCS11_DIR)/staging/lib - lipo $(PKCS11_DIR)/staging_*/lib/libpkcs11-helper.a -create -output $(PKCS11_DIR)/staging/lib/libpkcs11-helper.a - cp $(PKCS11_DIR)/staging_i686/lib/libpkcs11-helper.la $(PKCS11_DIR)/staging/lib/ +pkcs11-helper: + echo Configure PKCS11-Helper 32/64 bit universal library + cd $(PKCS11_DIR) && OPENSSL_CFLAGS="-I/usr/include" OPENSSL_LIBS="-L/usr/lib -lssl -lcrypto" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -Os -mmacosx-version-min=10.5 -arch ppc -arch ppc64 -arch i386 -arch x86_64" ./configure --enable-static --disable-dependency-tracking --prefix=$$(pwd)/staging/ --includedir=$$(pwd)/staging/include/ + echo Build PKCS11-Helper 32/64 bit universal binary + $(MAKE) -C $(PKCS11_DIR) + echo Install to third_party/$(PKCS11_DIR)/staging + $(MAKE) -C $(PKCS11_DIR) install -lzo:: - @for a in ppc i686; do \ +lzo: + @for a in ppc ppc64 i386 x86_64; do \ echo Configure LZO for $$a; \ cd $(LZO_DIR); \ echo Forcefully be clean; \ $(MAKE) clean; \ - CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --disable-dependency-tracking --disable-asm --prefix=$$(pwd)/staging_$$a/ --includedir=$$(pwd)/staging/include/; \ + CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -Os -mmacosx-version-min=10.5 -arch $$a" ./configure --host=$(HOSTARCH) --build=$$a --disable-dependency-tracking --disable-asm --prefix=$$(pwd)/staging_$$a/ --includedir=$$(pwd)/staging/include/; \ echo Build LZO; \ $(MAKE); \ echo Install to third_party/$(LZO_DIR)/staging_$$a; \ $(MAKE) install; \ - cd ../; \ + cd ..; \ done # Use lipo to create a universal library mkdir -p $(LZO_DIR)/staging/lib lipo $(LZO_DIR)/staging_*/lib/liblzo2.a -create -output $(LZO_DIR)/staging/lib/liblzo2.a - cp $(LZO_DIR)/staging_i686/lib/liblzo2.la $(LZO_DIR)/staging/lib/ + cp $(LZO_DIR)/staging_i386/lib/liblzo2.la $(LZO_DIR)/staging/lib/ # wtf? library was renamed??? move it back so openvpn will build correctly - cd $(LZO_DIR)/staging/lib/; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la + cd $(LZO_DIR)/staging/lib; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la lzo-clean: $(MAKE) -C $(LZO_DIR) clean rm -rf $(LZO_DIR)/staging* openvpn: lzo pkcs11-helper - @for a in ppc i686; do \ - echo Configure OpenVPN for $$a; \ - cd openvpn/; \ - echo Forcefully be clean; \ - $(MAKE) clean; \ - autoreconf -i -v; \ - LDFLAGS="-L../$(PKCS11_DIR)/staging/lib/" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -Os -mmacosx-version-min=10.4 -arch $$a" ./configure --with-lzo-headers=../$(LZO_DIR)/staging/include/ --with-lzo-lib=../$(LZO_DIR)/staging/lib/ --with-pkcs11-helper-headers=../$(PKCS11_DIR)/staging/include/ --with-pkcs11-helper-libs=../$(PKCS11_DIR)/staging/lib/ --disable-dependency-tracking; \ - echo Build OpenVPN; \ - $(MAKE); \ - mv openvpn openvpn_tblk_$$a; \ - cd ../; \ - done - - # Use lipo to create a universal library - lipo openvpn/openvpn_tblk_* -create -output openvpn/openvpn + echo Configure OpenVPN 32/64 bit universal binary + cd openvpn && autoreconf -i -v + cd openvpn && LDFLAGS="-L../$(PKCS11_DIR)/staging/lib/" CFLAGS="-isysroot /Developer/SDKs/MacOSX10.5.sdk -Os -mmacosx-version-min=10.5 -arch ppc -arch ppc64 -arch i386 -arch x86_64" ./configure --with-lzo-headers=../$(LZO_DIR)/staging/include/ --with-lzo-lib=../$(LZO_DIR)/staging/lib/ --with-pkcs11-helper-headers=../$(PKCS11_DIR)/staging/include/ --with-pkcs11-helper-libs=../$(PKCS11_DIR)/staging/lib/ --disable-dependency-tracking + echo Build OpenVPN 32/64 bit universal binary + $(MAKE) -C openvpn openvpn-clean: - $(MAKE) -C openvpn/ clean - rm -f openvpn/openvpn_tblk_* + $(MAKE) -C openvpn clean .PHONY : tuntap tuntap: # Now we'll build the tun/tap driver - $(MAKE) -C tuntap/ +# # MSvB: Patch buildconf for building 64-bit (broken as of 20090728) +# sed -i .orig \ +# -e 's;-arch ppc;-arch ppc -arch ppc64;g' \ +# -e 's;-arch i386;-arch i386 -arch x86_64;g' \ +# tuntap/src/tap/Makefile tuntap/src/tun/Makefile + # MSvB: Patch buildconf for building with up to date APIs + sed -i .orig \ + -e 's;MacOSX10.4u.sdk;MacOSX10.5.sdk;g' \ + tuntap/src/tap/Makefile tuntap/src/tun/Makefile + $(MAKE) -C tuntap tuntap-clean: - $(MAKE) -C tuntap/ clean - - + $(MAKE) -C tuntap clean clean: lzo-clean tuntap-clean openvpn-clean