Mercurial > pub > dyncall > dyncall
comparison configure.bat @ 632:ed19b429a152
- added explicit arm64 target, and clang tool options to Windows' configure.bat
- configure.{bat,rc} now writing Makefile.config, for consistency/compatibility (e.g. configure.bat can now be used to set up env flags for a non-nmake toolchain)
- simplified/decluttered Windows and Plan9 configure scripts (removal of unused/stale options, ...)
- removed stale test/makepkg.sh helper
author | Tassilo Philipp |
---|---|
date | Sat, 19 Nov 2022 15:45:41 +0100 |
parents | f5e9f7f8a932 |
children | 840a870c093c |
comparison
equal
deleted
inserted
replaced
631:e5ad8cf0aa72 | 632:ed19b429a152 |
---|---|
1 @ECHO OFF | 1 @ECHO OFF |
2 REM /////////////////////////////////////////////////////////////////////////// | 2 REM /////////////////////////////////////////////////////////////////////////// |
3 REM | 3 REM |
4 REM Copyright (c) 2007-2009 Daniel Adler <dadler@uni-goettingen.de>, | 4 REM Copyright (c) 2007-2022 Daniel Adler <dadler@uni-goettingen.de>, |
5 REM Tassilo Philipp <tphilipp@potion-studios.com> | 5 REM Tassilo Philipp <tphilipp@potion-studios.com> |
6 REM | 6 REM |
7 REM Permission to use, copy, modify, and distribute this software for any | 7 REM Permission to use, copy, modify, and distribute this software for any |
8 REM purpose with or without fee is hereby granted, provided that the above | 8 REM purpose with or without fee is hereby granted, provided that the above |
9 REM copyright notice and this permission notice appear in all copies. | 9 REM copyright notice and this permission notice appear in all copies. |
25 SET PACKAGE=dyncall | 25 SET PACKAGE=dyncall |
26 SET CONFIG_HOST=windows | 26 SET CONFIG_HOST=windows |
27 SET CONFIG_OS=windows | 27 SET CONFIG_OS=windows |
28 SET CONFIG_TOOL=msvc | 28 SET CONFIG_TOOL=msvc |
29 SET CONFIG_ASM=ml | 29 SET CONFIG_ASM=ml |
30 SET CONFIG_CONFIG=release | |
31 IF [%PROCESSOR_ARCHITECTURE%] == [AMD64] ( | 30 IF [%PROCESSOR_ARCHITECTURE%] == [AMD64] ( |
32 SET CONFIG_ARCH=x64 | 31 SET CONFIG_ARCH=x64 |
33 ) ELSE IF [%PROCESSOR_ARCHITEW6432%] == [AMD64] ( | 32 ) ELSE IF [%PROCESSOR_ARCHITEW6432%] == [AMD64] ( |
34 SET CONFIG_ARCH=x64 | 33 SET CONFIG_ARCH=x64 |
34 ) ELSE IF [%PROCESSOR_ARCHITECTURE%] == [ARM64] ( | |
35 SET CONFIG_ARCH=arm64 | |
35 ) ELSE ( | 36 ) ELSE ( |
36 SET CONFIG_ARCH=x86 | 37 SET CONFIG_ARCH=x86 |
37 ) | 38 ) |
38 | 39 |
39 REM Scan arguments. | 40 REM Scan arguments. |
50 ECHO. configure.bat [ options ] | 51 ECHO. configure.bat [ options ] |
51 ECHO. | 52 ECHO. |
52 ECHO.Options: | 53 ECHO.Options: |
53 ECHO. /? print this page | 54 ECHO. /? print this page |
54 ECHO. | 55 ECHO. |
55 ECHO. /prefix PATH set installation prefix ^(GNU make only^) | |
56 ECHO. /prefix-bd PATH set build directory prefix ^(GNU make only^) | |
57 ECHO. ^(only for use with gmake^) | |
58 ECHO. | |
59 ECHO. /target-x86 build for x86 architecture | 56 ECHO. /target-x86 build for x86 architecture |
60 ECHO. /target-x64 build for x64 architecture | 57 ECHO. /target-x64 build for x64 architecture |
61 ECHO. /target-psp build for PlayStation Portable ^(homebrew SDK^) | 58 ECHO. /target-arm64 build for arm64 architecture |
62 ECHO. /target-nds-arm build for Nintendo DS ^(devkitPro, ARM mode^) | 59 ECHO. /target-psp cross-build for PlayStation Portable ^(homebrew SDK^) |
63 ECHO. /target-nds-thumb build for Nintendo DS ^(devkitPro, THUMB mode^) | 60 ECHO. /target-nds-arm cross-build for Nintendo DS ^(devkitPro, ARM mode^) |
61 ECHO. /target-nds-thumb cross-build for Nintendo DS ^(devkitPro, THUMB mode^) | |
64 ECHO. | 62 ECHO. |
65 ECHO. /tool-msvc use Microsoft Visual C++ compiler ^(default^) | 63 ECHO. /tool-msvc use Microsoft Visual C++ compiler ^(default^) |
66 ECHO. /tool-gcc use GNU Compiler Collection | 64 ECHO. /tool-gcc use GNU Compiler Collection |
65 ECHO. /tool-clang use LLVM clang compiler | |
67 ECHO. | 66 ECHO. |
68 ECHO. /asm-ml use Microsoft Macro Assembler ^(default^) | 67 ECHO. /asm-ml use Microsoft Macro Assembler ^(default^) |
69 ECHO. /asm-as use the GNU Assembler | 68 ECHO. /asm-as use the GNU or LLVM Assembler |
70 ECHO. /asm-nasm use NASM Assembler | 69 ECHO. /asm-nasm use NASM Assembler |
71 ECHO. | |
72 ECHO. /config-release build release version ^(default^) | |
73 ECHO. /config-debug build debug version | |
74 GOTO:EOF | 70 GOTO:EOF |
75 ) ELSE IF [%1]==[/prefix] ( | |
76 SET CONFIG_PREFIX=%2 | |
77 SHIFT | |
78 ) ELSE IF [%1]==[/prefix-bd] ( | |
79 SET CONFIG_BUILDPREFIX=%2 | |
80 SHIFT | |
81 ) ELSE IF [%1]==[/target-x86] ( | 71 ) ELSE IF [%1]==[/target-x86] ( |
82 SET CONFIG_ARCH=x86 | 72 SET CONFIG_ARCH=x86 |
83 ) ELSE IF [%1]==[/target-x64] ( | 73 ) ELSE IF [%1]==[/target-x64] ( |
84 SET CONFIG_ARCH=x64 | 74 SET CONFIG_ARCH=x64 |
75 ) ELSE IF [%1]==[/target-arm64] ( | |
76 SET CONFIG_ARCH=arm64 | |
85 ) ELSE IF [%1]==[/target-psp] ( | 77 ) ELSE IF [%1]==[/target-psp] ( |
86 SET CONFIG_ARCH=mips32 | 78 SET CONFIG_ARCH=mips32 |
87 SET CONFIG_OS=psp | 79 SET CONFIG_OS=psp |
88 ) ELSE IF [%1]==[/target-nds-arm] ( | 80 ) ELSE IF [%1]==[/target-nds-arm] ( |
89 SET CONFIG_ARCH=arm32_arm | 81 SET CONFIG_ARCH=arm32_arm |
95 SET CONFIG_TOOL=gcc | 87 SET CONFIG_TOOL=gcc |
96 SET CONFIG_ASM=as | 88 SET CONFIG_ASM=as |
97 ) ELSE IF [%1]==[/tool-msvc] ( | 89 ) ELSE IF [%1]==[/tool-msvc] ( |
98 SET CONFIG_TOOL=msvc | 90 SET CONFIG_TOOL=msvc |
99 SET CONFIG_ASM=ml | 91 SET CONFIG_ASM=ml |
92 ) ELSE IF [%1]==[/tool-clang] ( | |
93 SET CONFIG_TOOL=clang | |
94 SET CONFIG_ASM=as | |
100 ) ELSE IF [%1]==[/asm-as] ( | 95 ) ELSE IF [%1]==[/asm-as] ( |
101 SET CONFIG_ASM=as | 96 SET CONFIG_ASM=as |
102 ) ELSE IF [%1]==[/asm-nasm] ( | 97 ) ELSE IF [%1]==[/asm-nasm] ( |
103 SET CONFIG_ASM=nasm | 98 SET CONFIG_ASM=nasm |
104 ) ELSE IF [%1]==[/asm-ml] ( | 99 ) ELSE IF [%1]==[/asm-ml] ( |
105 SET CONFIG_ASM=ml | 100 SET CONFIG_ASM=ml |
106 ) ELSE IF [%1]==[/config-release] ( | |
107 SET CONFIG_CONFIG=release | |
108 ) ELSE IF [%1]==[/config-debug] ( | |
109 SET CONFIG_CONFIG=debug | |
110 ) ELSE ( | 101 ) ELSE ( |
111 ECHO Unknown parameter '%1'. | 102 ECHO Unknown parameter '%1'. |
112 GOTO DONE | 103 GOTO DONE |
113 ) | 104 ) |
114 | 105 |
115 SHIFT | 106 SHIFT |
116 GOTO MAIN_LOOP | 107 GOTO MAIN_LOOP |
117 :DONE | 108 :DONE |
118 | 109 |
119 IF [%CONFIG_PREFIX%]==[] ( | 110 ECHO # auto-generated by configure.bat >Makefile.config |
120 SET CONFIG_PREFIX=%CD%\install_%CONFIG_OS%_%CONFIG_ARCH%_%CONFIG_TOOL%_%CONFIG_CONFIG% | 111 ECHO CONFIG_PACKAGE=%PACKAGE%#>>Makefile.config |
121 ) | 112 ECHO CONFIG_HOST=%CONFIG_HOST%#>>Makefile.config |
122 IF [%CONFIG_BUILDPREFIX%]==[] ( | 113 ECHO CONFIG_OS=%CONFIG_OS%#>>Makefile.config |
123 SET CONFIG_BUILDPREFIX=%CD%\build_out\%CONFIG_OS%_%CONFIG_ARCH%_%CONFIG_TOOL%_%CONFIG_CONFIG% | 114 ECHO CONFIG_ARCH=%CONFIG_ARCH%#>>Makefile.config |
124 ) | 115 ECHO CONFIG_TOOL=%CONFIG_TOOL%#>>Makefile.config |
116 ECHO CONFIG_ASM=%CONFIG_ASM%#>>Makefile.config | |
125 | 117 |
126 ECHO # auto-generated by configure.bat >ConfigVars | 118 ECHO Writing following configuration to Makefile.config: |
127 ECHO CONFIG_PACKAGE=%PACKAGE%#>>ConfigVars | |
128 ECHO CONFIG_HOST=%CONFIG_HOST%#>>ConfigVars | |
129 ECHO CONFIG_OS=%CONFIG_OS%#>>ConfigVars | |
130 ECHO CONFIG_ARCH=%CONFIG_ARCH%#>>ConfigVars | |
131 ECHO CONFIG_TOOL=%CONFIG_TOOL%#>>ConfigVars | |
132 ECHO CONFIG_ASM=%CONFIG_ASM%#>>ConfigVars | |
133 ECHO CONFIG_CONFIG=%CONFIG_CONFIG%#>>ConfigVars | |
134 ECHO CONFIG_PREFIX=%CONFIG_PREFIX%#>>ConfigVars | |
135 ECHO CONFIG_BUILDPREFIX=%CONFIG_BUILDPREFIX%#>>ConfigVars | |
136 | |
137 ECHO Writing following configuration to ConfigVars: | |
138 ECHO. | 119 ECHO. |
139 ECHO Host OS: %CONFIG_HOST% | 120 ECHO Host OS: %CONFIG_HOST% |
140 ECHO Target OS: %CONFIG_OS% | 121 ECHO Target OS: %CONFIG_OS% |
141 ECHO Target Architecture: %CONFIG_ARCH% | 122 ECHO Target Architecture: %CONFIG_ARCH% |
142 ECHO Compiler: %CONFIG_TOOL% | 123 ECHO Compiler: %CONFIG_TOOL% |
143 ECHO Assembler: %CONFIG_ASM% | 124 ECHO Assembler: %CONFIG_ASM% |
144 ECHO Build configuration: %CONFIG_CONFIG% | |
145 ECHO Install prefix: %CONFIG_PREFIX% | |
146 ECHO Build prefix: %CONFIG_BUILDPREFIX% | |
147 | 125 |
148 | 126 |
149 REM We have to transform some pathes for the nds/devkitPro build. | 127 REM We have to transform some pathes for the nds/devkitPro build. |
150 IF [%CONFIG_OS%]==[nds] ( | 128 IF [%CONFIG_OS%]==[nds] ( |
151 REM Check if DEVKITPRO is set. | 129 REM Check if DEVKITPRO is set. |
153 ECHO ERROR: Environment variable DEVKITPRO must be set to absolute devkitPro path. | 131 ECHO ERROR: Environment variable DEVKITPRO must be set to absolute devkitPro path. |
154 ) ELSE ( | 132 ) ELSE ( |
155 buildsys\scripts\conf-nds.bat | 133 buildsys\scripts\conf-nds.bat |
156 ) | 134 ) |
157 ) | 135 ) |
136 |