1@echo off 2 3rem ======================================================================== 4rem Batch file to automate building OpenSSL for NetWare. 5rem 6rem usage: 7rem build [target] [debug opts] [assembly opts] [configure opts] 8rem 9rem target - "netware-clib" - CLib NetWare build (WinSock Sockets) 10rem - "netware-clib-bsdsock" - CLib NetWare build (BSD Sockets) 11rem - "netware-libc" - LibC NetWare build (WinSock Sockets) 12rem - "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets) 13rem 14rem debug opts - "debug" - build debug 15rem 16rem assembly opts - "nw-mwasm" - use Metrowerks assembler 17rem - "nw-nasm" - use NASM assembler 18rem - "no-asm" - don't use assembly 19rem 20rem configure opts- all unrecognized arguments are passed to the 21rem perl configure script 22rem 23rem If no arguments are specified the default is to build non-debug with 24rem no assembly. NOTE: there is no default BLD_TARGET. 25rem 26 27 28 29rem No assembly is the default - Uncomment section below to change 30rem the assembler default 31set ASM_MODE= 32set ASSEMBLER= 33set NO_ASM=no-asm 34 35rem Uncomment to default to the Metrowerks assembler 36rem set ASM_MODE=nw-mwasm 37rem set ASSEMBLER=Metrowerks 38rem set NO_ASM= 39 40rem Uncomment to default to the NASM assembler 41rem set ASM_MODE=nw-nasm 42rem set ASSEMBLER=NASM 43rem set NO_ASM= 44 45rem No default Bld target 46set BLD_TARGET=no_target 47rem set BLD_TARGET=netware-clib 48rem set BLD_TARGET=netware-libc 49 50 51rem Default to build non-debug 52set DEBUG= 53 54rem Uncomment to default to debug build 55rem set DEBUG=debug 56 57 58set CONFIG_OPTS= 59set ARG_PROCESSED=NO 60 61 62rem Process command line args 63:opts 64if "a%1" == "a" goto endopt 65if "%1" == "no-asm" set NO_ASM=no-asm 66if "%1" == "no-asm" set ARG_PROCESSED=YES 67if "%1" == "debug" set DEBUG=debug 68if "%1" == "debug" set ARG_PROCESSED=YES 69if "%1" == "nw-nasm" set ASM_MODE=nw-nasm 70if "%1" == "nw-nasm" set ASSEMBLER=NASM 71if "%1" == "nw-nasm" set NO_ASM= 72if "%1" == "nw-nasm" set ARG_PROCESSED=YES 73if "%1" == "nw-mwasm" set ASM_MODE=nw-mwasm 74if "%1" == "nw-mwasm" set ASSEMBLER=Metrowerks 75if "%1" == "nw-mwasm" set NO_ASM= 76if "%1" == "nw-mwasm" set ARG_PROCESSED=YES 77if "%1" == "netware-clib" set BLD_TARGET=netware-clib 78if "%1" == "netware-clib" set ARG_PROCESSED=YES 79if "%1" == "netware-clib-bsdsock" set BLD_TARGET=netware-clib-bsdsock 80if "%1" == "netware-clib-bsdsock" set ARG_PROCESSED=YES 81if "%1" == "netware-libc" set BLD_TARGET=netware-libc 82if "%1" == "netware-libc" set ARG_PROCESSED=YES 83if "%1" == "netware-libc-bsdsock" set BLD_TARGET=netware-libc-bsdsock 84if "%1" == "netware-libc-bsdsock" set ARG_PROCESSED=YES 85 86rem If we didn't recognize the argument, consider it an option for config 87if "%ARG_PROCESSED%" == "NO" set CONFIG_OPTS=%CONFIG_OPTS% %1 88if "%ARG_PROCESSED%" == "YES" set ARG_PROCESSED=NO 89 90shift 91goto opts 92:endopt 93 94rem make sure a valid BLD_TARGET was specified 95if "%BLD_TARGET%" == "no_target" goto no_target 96 97rem build the nlm make file name which includes target and debug info 98set NLM_MAKE= 99if "%BLD_TARGET%" == "netware-clib" set NLM_MAKE=netware\nlm_clib 100if "%BLD_TARGET%" == "netware-clib-bsdsock" set NLM_MAKE=netware\nlm_clib_bsdsock 101if "%BLD_TARGET%" == "netware-libc" set NLM_MAKE=netware\nlm_libc 102if "%BLD_TARGET%" == "netware-libc-bsdsock" set NLM_MAKE=netware\nlm_libc_bsdsock 103if "%DEBUG%" == "" set NLM_MAKE=%NLM_MAKE%.mak 104if "%DEBUG%" == "debug" set NLM_MAKE=%NLM_MAKE%_dbg.mak 105 106if "%NO_ASM%" == "no-asm" set ASM_MODE= 107if "%NO_ASM%" == "no-asm" set ASSEMBLER= 108if "%NO_ASM%" == "no-asm" set CONFIG_OPTS=%CONFIG_OPTS% no-asm 109if "%NO_ASM%" == "no-asm" goto do_config 110 111 112rem ================================================== 113echo Generating x86 for %ASSEMBLER% assembler 114 115echo Bignum 116cd crypto\bn\asm 117rem perl x86.pl %ASM_MODE% > bn-nw.asm 118perl bn-586.pl %ASM_MODE% > bn-nw.asm 119perl co-586.pl %ASM_MODE% > co-nw.asm 120cd ..\..\.. 121 122echo AES 123cd crypto\aes\asm 124perl aes-586.pl %ASM_MODE% > a-nw.asm 125cd ..\..\.. 126 127echo DES 128cd crypto\des\asm 129perl des-586.pl %ASM_MODE% > d-nw.asm 130cd ..\..\.. 131 132echo "crypt(3)" 133 134cd crypto\des\asm 135perl crypt586.pl %ASM_MODE% > y-nw.asm 136cd ..\..\.. 137 138echo Blowfish 139 140cd crypto\bf\asm 141perl bf-586.pl %ASM_MODE% > b-nw.asm 142cd ..\..\.. 143 144echo CAST5 145cd crypto\cast\asm 146perl cast-586.pl %ASM_MODE% > c-nw.asm 147cd ..\..\.. 148 149echo RC4 150cd crypto\rc4\asm 151perl rc4-586.pl %ASM_MODE% > r4-nw.asm 152cd ..\..\.. 153 154echo MD5 155cd crypto\md5\asm 156perl md5-586.pl %ASM_MODE% > m5-nw.asm 157cd ..\..\.. 158 159echo SHA1 160cd crypto\sha\asm 161perl sha1-586.pl %ASM_MODE% > s1-nw.asm 162perl sha256-586.pl %ASM_MODE% > sha256-nw.asm 163perl sha512-586.pl %ASM_MODE% > sha512-nw.asm 164cd ..\..\.. 165 166echo RIPEMD160 167cd crypto\ripemd\asm 168perl rmd-586.pl %ASM_MODE% > rm-nw.asm 169cd ..\..\.. 170 171echo RC5\32 172cd crypto\rc5\asm 173perl rc5-586.pl %ASM_MODE% > r5-nw.asm 174cd ..\..\.. 175 176echo WHIRLPOOL 177cd crypto\whrlpool\asm 178perl wp-mmx.pl %ASM_MODE% > wp-nw.asm 179cd ..\..\.. 180 181echo CPUID 182cd crypto 183perl x86cpuid.pl %ASM_MODE% > x86cpuid-nw.asm 184cd ..\ 185 186rem =============================================================== 187rem 188:do_config 189 190echo . 191echo configure options: %CONFIG_OPTS% %BLD_TARGET% 192echo . 193perl configure %CONFIG_OPTS% %BLD_TARGET% 194 195perl util\mkfiles.pl >MINFO 196 197echo . 198echo mk1mf.pl options: %DEBUG% %ASM_MODE% %CONFIG_OPTS% %BLD_TARGET% 199echo . 200perl util\mk1mf.pl %DEBUG% %ASM_MODE% %CONFIG_OPTS% %BLD_TARGET% >%NLM_MAKE% 201 202make -f %NLM_MAKE% vclean 203echo . 204echo The makefile "%NLM_MAKE%" has been created use your maketool to 205echo build (ex: make -f %NLM_MAKE%) 206goto end 207 208rem =============================================================== 209rem 210:no_target 211echo . 212echo . No build target specified!!! 213echo . 214echo . usage: build [target] [debug opts] [assembly opts] [configure opts] 215echo . 216echo . target - "netware-clib" - CLib NetWare build (WinSock Sockets) 217echo . - "netware-clib-bsdsock" - CLib NetWare build (BSD Sockets) 218echo . - "netware-libc" - LibC NetWare build (WinSock Sockets) 219echo . - "netware-libc-bsdsock" - LibC NetWare build (BSD Sockets) 220echo . 221echo . debug opts - "debug" - build debug 222echo . 223echo . assembly opts - "nw-mwasm" - use Metrowerks assembler 224echo . "nw-nasm" - use NASM assembler 225echo . "no-asm" - don't use assembly 226echo . 227echo . configure opts- all unrecognized arguments are passed to the 228echo . perl configure script 229echo . 230echo . If no debug or assembly opts are specified the default is to build 231echo . non-debug without assembly 232echo . 233 234 235:end 236