Sat, 03 Oct 2009 16:30:38 +0200
Document building fat object files with the hand made buildconf.
michael@4 | 1 | ## |
michael@4 | 2 | ## Cryptlib.txt -- Addendum to OS X Package Specification Document |
michael@4 | 3 | ## Copyright (c) 2009 Michael Schloh von Bennewitz <michael@schloh.com> |
michael@4 | 4 | ## |
michael@4 | 5 | ## Permission to use, copy, modify, and distribute this software for |
michael@4 | 6 | ## any purpose with or without fee is hereby granted, provided that |
michael@4 | 7 | ## the above copyright notice and this permission notice appear in all |
michael@4 | 8 | ## copies. |
michael@4 | 9 | ## |
michael@4 | 10 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@4 | 11 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@4 | 12 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@4 | 13 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@4 | 14 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@4 | 15 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@4 | 16 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@4 | 17 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@4 | 18 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@4 | 19 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@4 | 20 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@4 | 21 | ## SUCH DAMAGE. |
michael@4 | 22 | ## |
michael@4 | 23 | |
michael@4 | 24 | |
michael@4 | 25 | Cryptlib Encryption Development Package |
michael@4 | 26 | --------------------------------------- |
michael@4 | 27 | Name: Cryptlib |
michael@4 | 28 | Summary: Cryptlib Encryption Toolkit |
michael@4 | 29 | URL: http://www.cs.auckland.ac.nz/~pgut001/cryptlib/ |
michael@4 | 30 | Packager: Michael Schloh von Bennewitz |
michael@4 | 31 | Vendor: Peter Gutmann |
michael@4 | 32 | |
michael@4 | 33 | Package source: Cryptlib.pmdoc |
michael@6 | 34 | Package output: Cryptlib-<dist.version>.pkg |
michael@4 | 35 | |
michael@4 | 36 | Executing Cryptlib.pkg installs header archives and universal libraries |
michael@4 | 37 | (IA-32/X86-64/PPC7400/PPC64) to the OS X operating system required for |
michael@4 | 38 | developing applications using Cryptlib cryptography logic. |
michael@4 | 39 | |
michael@4 | 40 | To create the installation package, use the OS X PackageMaker |
michael@4 | 41 | application or equivalent command line utility. Required sources |
michael@4 | 42 | include the package specification (<file>.pmdoc) and the archives |
michael@4 | 43 | specified within the package specification. These references are |
michael@4 | 44 | listed in the following manifest, and must be manually placed. |
michael@4 | 45 | |
michael@9 | 46 | The defective build configuration requires changes: |
michael@9 | 47 | Index: crypt/osconfig.h |
michael@9 | 48 | --- crypt/osconfig.h.orig 2009-08-04 20:54:46.000000000 +0200 |
michael@9 | 49 | +++ crypt/osconfig.h 2009-08-04 20:53:28.000000000 +0200 |
michael@9 | 50 | @@ -231,7 +231,6 @@ |
michael@9 | 51 | #else |
michael@9 | 52 | #define L_ENDIAN |
michael@9 | 53 | #endif |
michael@9 | 54 | - #define B_ENDIAN |
michael@9 | 55 | #define BN_LLONG |
michael@9 | 56 | #define BF_PTR |
michael@9 | 57 | #define DES_RISC1 |
michael@9 | 58 | |
michael@9 | 59 | Building a universal binary requires changes: |
michael@9 | 60 | Index: crypt/osconfig.h |
michael@9 | 61 | --- crypt/osconfig.h.orig 2009-08-11 12:42:04.000000000 +0200 |
michael@9 | 62 | +++ crypt/osconfig.h 2009-08-11 12:42:47.000000000 +0200 |
michael@9 | 63 | @@ -553,7 +553,7 @@ |
michael@9 | 64 | #if !defined( _CRAY ) && !defined( L_ENDIAN ) && !defined( B_ENDIAN ) |
michael@9 | 65 | #error You need to add system-specific configuration settings to osconfig.h |
michael@9 | 66 | #endif /* Endianness not defined */ |
michael@9 | 67 | -#ifdef CHECK_ENDIANNESS /* One-off check in des_enc.c */ |
michael@9 | 68 | +#if ( defined( CHECK_ENDIANNESS ) && !defined( UNIVERSAL_BINARY ) ) /* One-off check in des_enc.c */ |
michael@9 | 69 | #undef _CONFIG_DEFINED |
michael@9 | 70 | /* Including crypt.h at this point violates the normal include order |
michael@9 | 71 | because we've already included config.h which normally depends on |
michael@9 | 72 | |
michael@9 | 73 | To build a fat library with IA32, X86_64, PPC, and PPC64 object code: |
michael@9 | 74 | make LDFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk' CFLAGS='-c -isysroot /Developer/SDKs/MacOSX10.5.sdk -Os -mmacosx-version-min=10.5 -arch ppc -arch ppc64 -arch i386 -arch x86_64 -DUNIVERSAL_BINARY -D__UNIX__ -DNDEBUG -I.' |
michael@9 | 75 | |
michael@4 | 76 | Filesystem Root (fsrt) Manifest |
michael@4 | 77 | ------------------------------- |
michael@4 | 78 | drwxr-xr-x 3 root wheel 102 Aug 4 21:16 fsrt |
michael@4 | 79 | drwxr-xr-x 3 root wheel 102 Aug 4 21:16 fsrt/usr |
michael@4 | 80 | drwxr-xr-x 4 root wheel 136 Aug 4 21:16 fsrt/usr/local |
michael@4 | 81 | drwxr-xr-x 3 root wheel 102 Aug 4 21:15 fsrt/usr/local/include |
michael@4 | 82 | -rw-r--r-- 1 root wheel 91488 Aug 4 20:41 fsrt/usr/local/include/cryptlib.h |
michael@4 | 83 | drwxr-xr-x 3 root wheel 102 Aug 4 21:15 fsrt/usr/local/lib |
michael@4 | 84 | -rw-r--r-- 1 root wheel 8110616 Aug 4 22:45 fsrt/usr/local/lib/libcl.a |