Adjust for OSX10.5 building 32/64 bit universal releases.

Wed, 29 Jul 2009 11:29:59 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 29 Jul 2009 11:29:59 +0200
changeset 3
498e3929e555
parent 2
da073b397539
child 4
f137c6757b85

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

mercurial