Wed, 29 Jul 2009 11:29:59 +0200
Adjust for OSX10.5 building 32/64 bit universal releases.
tunblick/third_party/Makefile | file | annotate | diff | comparison | revisions |
1.1 --- a/tunblick/third_party/Makefile Wed Jul 29 11:28:31 2009 +0200 1.2 +++ b/tunblick/third_party/Makefile Wed Jul 29 11:29:59 2009 +0200 1.3 @@ -2,85 +2,74 @@ 1.4 # It shouldn't be called by anything other than automated scripts 1.5 1.6 # Both lzo and openvpn should be built universally 1.7 +# MSvB: ...using four architectures i386, x86_64, ppc, and ppc64 1.8 1.9 -LZO_DIR=lzo-2.02 1.10 +HOSTARCH=x86_64 1.11 +LZO_DIR=lzo-2.03 1.12 PKCS11_DIR=pkcs11-helper-1.07 1.13 1.14 -all: tuntap lzo openvpn 1.15 +all: tuntap openvpn 1.16 1.17 -pkcs11-helper:: 1.18 - @for a in ppc i686; do \ 1.19 - echo Configure PKCS11-Helper for $$a; \ 1.20 - cd $(PKCS11_DIR); \ 1.21 - echo Forcefully be clean; \ 1.22 - $(MAKE) clean; \ 1.23 - 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/; \ 1.24 - echo Build PKCS11-Helper; \ 1.25 - $(MAKE); \ 1.26 - echo Install to third_party/$(PKCS11_DIR)/staging_$$a; \ 1.27 - $(MAKE) install; \ 1.28 - cd ../; \ 1.29 - done 1.30 - mkdir -p $(PKCS11_DIR)/staging/lib 1.31 - lipo $(PKCS11_DIR)/staging_*/lib/libpkcs11-helper.a -create -output $(PKCS11_DIR)/staging/lib/libpkcs11-helper.a 1.32 - cp $(PKCS11_DIR)/staging_i686/lib/libpkcs11-helper.la $(PKCS11_DIR)/staging/lib/ 1.33 +pkcs11-helper: 1.34 + echo Configure PKCS11-Helper 32/64 bit universal library 1.35 + 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/ 1.36 + echo Build PKCS11-Helper 32/64 bit universal binary 1.37 + $(MAKE) -C $(PKCS11_DIR) 1.38 + echo Install to third_party/$(PKCS11_DIR)/staging 1.39 + $(MAKE) -C $(PKCS11_DIR) install 1.40 1.41 -lzo:: 1.42 - @for a in ppc i686; do \ 1.43 +lzo: 1.44 + @for a in ppc ppc64 i386 x86_64; do \ 1.45 echo Configure LZO for $$a; \ 1.46 cd $(LZO_DIR); \ 1.47 echo Forcefully be clean; \ 1.48 $(MAKE) clean; \ 1.49 - 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/; \ 1.50 + 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/; \ 1.51 echo Build LZO; \ 1.52 $(MAKE); \ 1.53 echo Install to third_party/$(LZO_DIR)/staging_$$a; \ 1.54 $(MAKE) install; \ 1.55 - cd ../; \ 1.56 + cd ..; \ 1.57 done 1.58 1.59 # Use lipo to create a universal library 1.60 mkdir -p $(LZO_DIR)/staging/lib 1.61 lipo $(LZO_DIR)/staging_*/lib/liblzo2.a -create -output $(LZO_DIR)/staging/lib/liblzo2.a 1.62 - cp $(LZO_DIR)/staging_i686/lib/liblzo2.la $(LZO_DIR)/staging/lib/ 1.63 + cp $(LZO_DIR)/staging_i386/lib/liblzo2.la $(LZO_DIR)/staging/lib/ 1.64 1.65 # wtf? library was renamed??? move it back so openvpn will build correctly 1.66 - cd $(LZO_DIR)/staging/lib/; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la 1.67 + cd $(LZO_DIR)/staging/lib; mv liblzo2.a liblzo.a; mv liblzo2.la liblzo.la 1.68 1.69 lzo-clean: 1.70 $(MAKE) -C $(LZO_DIR) clean 1.71 rm -rf $(LZO_DIR)/staging* 1.72 1.73 openvpn: lzo pkcs11-helper 1.74 - @for a in ppc i686; do \ 1.75 - echo Configure OpenVPN for $$a; \ 1.76 - cd openvpn/; \ 1.77 - echo Forcefully be clean; \ 1.78 - $(MAKE) clean; \ 1.79 - autoreconf -i -v; \ 1.80 - 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; \ 1.81 - echo Build OpenVPN; \ 1.82 - $(MAKE); \ 1.83 - mv openvpn openvpn_tblk_$$a; \ 1.84 - cd ../; \ 1.85 - done 1.86 - 1.87 - # Use lipo to create a universal library 1.88 - lipo openvpn/openvpn_tblk_* -create -output openvpn/openvpn 1.89 + echo Configure OpenVPN 32/64 bit universal binary 1.90 + cd openvpn && autoreconf -i -v 1.91 + 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 1.92 + echo Build OpenVPN 32/64 bit universal binary 1.93 + $(MAKE) -C openvpn 1.94 1.95 openvpn-clean: 1.96 - $(MAKE) -C openvpn/ clean 1.97 - rm -f openvpn/openvpn_tblk_* 1.98 + $(MAKE) -C openvpn clean 1.99 1.100 .PHONY : tuntap 1.101 1.102 tuntap: 1.103 # Now we'll build the tun/tap driver 1.104 - $(MAKE) -C tuntap/ 1.105 +# # MSvB: Patch buildconf for building 64-bit (broken as of 20090728) 1.106 +# sed -i .orig \ 1.107 +# -e 's;-arch ppc;-arch ppc -arch ppc64;g' \ 1.108 +# -e 's;-arch i386;-arch i386 -arch x86_64;g' \ 1.109 +# tuntap/src/tap/Makefile tuntap/src/tun/Makefile 1.110 + # MSvB: Patch buildconf for building with up to date APIs 1.111 + sed -i .orig \ 1.112 + -e 's;MacOSX10.4u.sdk;MacOSX10.5.sdk;g' \ 1.113 + tuntap/src/tap/Makefile tuntap/src/tun/Makefile 1.114 + $(MAKE) -C tuntap 1.115 1.116 tuntap-clean: 1.117 - $(MAKE) -C tuntap/ clean 1.118 - 1.119 - 1.120 + $(MAKE) -C tuntap clean 1.121 1.122 clean: lzo-clean tuntap-clean openvpn-clean