Improve Gambit REPL (toolbar is semi transparent and the alpha can be set with set...
[gambit-c.git] / misc / vc2008.bat
blob21ce8af9651fe31a3316303dbe6eecb7d903e5dc
1 @rem File: "vc2008.cmd"\r
2 @rem\r
3 @rem This is a batch file to compile Gambit with the Microsoft Visual\r
4 @rem C++ 2008 Professional Edition.  It probably will work with the\r
5 @rem Express Edition as well.\r
6 @rem\r
7 @rem TODO: turn this into a makefile\r
8 \r
9 @rem Setup environment variables\r
10 setlocal\r
12 @call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"\r
14 @rem We can't use -D___SINGLE_HOST for all Gambit generated C files\r
15 @rem because the C compiler runs out of memory while compiling _num.c\r
16 @rem and _io.c .\r
18 set COMP_GEN=cl -nologo -Oityb1 -Zi -GS -RTC1 -MT -D_CRT_SECURE_NO_DEPRECATE -c -I..\include -D___SYS_TYPE_CPU=\"i686\" -D___SYS_TYPE_VENDOR=\"pc\" -D___SYS_TYPE_OS=\"visualc\"\r
20 if not "%1%" == "" (\r
21 set COMP_GEN=%COMP_GEN% -D___GAMBCDIR=\"%1%\"\r
22 )\r
24 set COMP_LIB_MH=%COMP_GEN% -D___LIBRARY\r
25 set COMP_LIB_PR_MH=%COMP_LIB_MH% -D___PRIMAL\r
26 set COMP_LIB=%COMP_LIB_MH% -D___SINGLE_HOST\r
27 set COMP_LIB_PR=%COMP_LIB_PR_MH% -D___SINGLE_HOST\r
28 set COMP_APP=%COMP_GEN% -D___SINGLE_HOST\r
30 @rem We can't rely on sed being available so we generate gambit.h\r
31 @rem from gambit.h.in by prefixing it with the needed declarations.\r
33 echo #ifndef ___VOIDSTAR_WIDTH                > include\gambit.h\r
34 echo #define ___VOIDSTAR_WIDTH ___LONG_WIDTH >> include\gambit.h\r
35 echo #endif                                  >> include\gambit.h\r
36 echo #ifndef ___MAX_CHR                      >> include\gambit.h\r
37 echo #define ___MAX_CHR 0x10ffff             >> include\gambit.h\r
38 echo #endif                                  >> include\gambit.h\r
39 type include\gambit.h.in                     >> include\gambit.h\r
41 cd lib\r
43 %COMP_LIB_PR% main.c\r
44 %COMP_LIB_PR% setup.c\r
45 %COMP_LIB_PR% mem.c\r
46 %COMP_LIB_PR% os.c\r
47 %COMP_LIB_PR% os_base.c\r
48 %COMP_LIB_PR% os_time.c\r
49 %COMP_LIB_PR% os_shell.c\r
50 %COMP_LIB_PR% os_files.c\r
51 %COMP_LIB_PR% os_dyn.c\r
52 %COMP_LIB_PR% os_tty.c\r
53 %COMP_LIB_PR% os_io.c\r
54 %COMP_LIB_PR% c_intf.c\r
56 %COMP_LIB_PR% _kernel.c\r
57 %COMP_LIB_PR% _system.c\r
58 %COMP_LIB_PR_MH% _num.c\r
59 %COMP_LIB_PR% _std.c\r
60 %COMP_LIB_PR% _eval.c\r
61 %COMP_LIB_PR_MH% _io.c\r
62 %COMP_LIB_PR% _nonstd.c\r
63 %COMP_LIB_PR% _thread.c\r
64 %COMP_LIB_PR% _repl.c\r
66 %COMP_LIB_PR% _gambc.c\r
68 lib -out:libgambc.lib main.obj setup.obj mem.obj os.obj os_base.obj os_time.obj os_shell.obj os_files.obj os_dyn.obj os_tty.obj os_io.obj c_intf.obj _kernel.obj _system.obj _num.obj _std.obj _eval.obj _io.obj _nonstd.obj _thread.obj _repl.obj _gambc.obj\r
70 cd ..\r
72 cd gsi\r
74 %COMP_LIB% _gsilib.c\r
75 %COMP_LIB% _gambcgsi.c\r
76 %COMP_APP% _gsi.c\r
77 %COMP_APP% _gsi_.c\r
79 cl -Fegsi.exe ..\lib\libgambc.lib _gsilib.obj _gambcgsi.obj _gsi.obj _gsi_.obj Kernel32.Lib User32.Lib Gdi32.Lib WS2_32.Lib\r
81 cd ..\r
83 cd gsc\r
85 %COMP_LIB% _host.c\r
86 %COMP_LIB% _utils.c\r
87 %COMP_LIB% _source.c\r
88 %COMP_LIB% _parms.c\r
89 %COMP_LIB% _env.c\r
90 %COMP_LIB% _ptree1.c\r
91 %COMP_LIB% _ptree2.c\r
92 %COMP_LIB% _gvm.c\r
93 %COMP_LIB% _back.c\r
94 %COMP_LIB% _front.c\r
95 %COMP_LIB% _prims.c\r
96 %COMP_LIB% _t-c-1.c\r
97 %COMP_LIB% _t-c-2.c\r
98 %COMP_LIB% _t-c-3.c\r
99 %COMP_LIB% _gsclib.c\r
100 %COMP_LIB% _gambcgsc.c\r
101 %COMP_APP% _gsc.c\r
102 %COMP_APP% _gsc_.c\r
104 cl -Fegsc.exe ..\lib\libgambc.lib _host.obj _utils.obj _source.obj _parms.obj _env.obj _ptree1.obj _ptree2.obj _gvm.obj _back.obj _front.obj _prims.obj _t-c-1.obj _t-c-2.obj _t-c-3.obj _gsclib.obj _gambcgsc.obj _gsc.obj _gsc_.obj Kernel32.Lib User32.Lib Gdi32.Lib WS2_32.Lib\r
106 cd ..\r
108 cd bin\r
110 echo @echo off> gsc-cc-o.bat\r
111 echo.>> gsc-cc-o.bat\r
112 echo rem Script parameters are passed in the following environment variables:>> gsc-cc-o.bat\r
113 echo rem   GSC_CC_O_GAMBCDIR_BIN>> gsc-cc-o.bat\r
114 echo rem   GSC_CC_O_GAMBCDIR_INCLUDE>> gsc-cc-o.bat\r
115 echo rem   GSC_CC_O_GAMBCDIR_LIB>> gsc-cc-o.bat\r
116 echo rem   GSC_CC_O_OBJ_FILENAME>> gsc-cc-o.bat\r
117 echo rem   GSC_CC_O_C_FILENAME_DIR>> gsc-cc-o.bat\r
118 echo rem   GSC_CC_O_C_FILENAME_BASE>> gsc-cc-o.bat\r
119 echo rem   GSC_CC_O_CC_OPTIONS>> gsc-cc-o.bat\r
120 echo rem   GSC_CC_O_LD_OPTIONS_PRELUDE>> gsc-cc-o.bat\r
121 echo rem   GSC_CC_O_LD_OPTIONS>> gsc-cc-o.bat\r
122 echo.>> gsc-cc-o.bat\r
123 echo rem echo GSC_CC_O_GAMBCDIR_BIN = %%GSC_CC_O_GAMBCDIR_BIN%%>> gsc-cc-o.bat\r
124 echo rem echo GSC_CC_O_GAMBCDIR_INCLUDE = %%GSC_CC_O_GAMBCDIR_INCLUDE%%>> gsc-cc-o.bat\r
125 echo rem echo GSC_CC_O_GAMBCDIR_LIB = %%GSC_CC_O_GAMBCDIR_LIB%%>> gsc-cc-o.bat\r
126 echo rem echo GSC_CC_O_OBJ_FILENAME = %%GSC_CC_O_OBJ_FILENAME%%>> gsc-cc-o.bat\r
127 echo rem echo GSC_CC_O_C_FILENAME_DIR = %%GSC_CC_O_C_FILENAME_DIR%%>> gsc-cc-o.bat\r
128 echo rem echo GSC_CC_O_C_FILENAME_BASE = %%GSC_CC_O_C_FILENAME_BASE%%>> gsc-cc-o.bat\r
129 echo rem echo GSC_CC_O_CC_OPTIONS = %%GSC_CC_O_CC_OPTIONS%%>> gsc-cc-o.bat\r
130 echo rem echo GSC_CC_O_LD_OPTIONS_PRELUDE = %%GSC_CC_O_LD_OPTIONS_PRELUDE%%>> gsc-cc-o.bat\r
131 echo rem echo GSC_CC_O_LD_OPTIONS = %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
132 echo.>> gsc-cc-o.bat\r
133 echo for %%%%f in (cl.exe gcc.exe wcl386.exe) do if not "%%%%~$PATH:f" == "" goto use_%%%%%%f>> gsc-cc-o.bat\r
134 echo.>> gsc-cc-o.bat\r
135 echo echo gcc.exe, wcl386.exe and cl.exe were not found in the PATH.  Make sure MinGW, OpenWatcom or Visual C++ Express is installed.>> gsc-cc-o.bat\r
136 echo exit 1 >> gsc-cc-o.bat\r
137 echo.>> gsc-cc-o.bat\r
138 echo :use_gcc.exe>> gsc-cc-o.bat\r
139 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
140 echo gcc.exe -mno-cygwin -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fno-common -mieee-fp -shared -I"%%GSC_CC_O_GAMBCDIR_INCLUDE%%" -D___DYNAMIC -D___SINGLE_HOST -o "%%GSC_CC_O_OBJ_FILENAME%%" %%GSC_CC_O_CC_OPTIONS%% %%GSC_CC_O_LD_OPTIONS_PRELUDE%% "%%GSC_CC_O_C_FILENAME_BASE%%" %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
141 echo goto end>> gsc-cc-o.bat\r
142 echo.>> gsc-cc-o.bat\r
143 echo :use_wcl386.exe>> gsc-cc-o.bat\r
144 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
145 echo wcl386.exe -w0 -zp4 -zq -obetir -bm -3r -bt=nt -mf -bd -I"%%GSC_CC_O_GAMBCDIR_INCLUDE%%" -D___DYNAMIC -D___SINGLE_HOST -l=nt_dll -fe="%%GSC_CC_O_OBJ_FILENAME%%" %%GSC_CC_O_CC_OPTIONS%% %%GSC_CC_O_LD_OPTIONS_PRELUDE%% "%%GSC_CC_O_C_FILENAME_BASE%%" %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
146 echo goto end>> gsc-cc-o.bat\r
147 echo.>> gsc-cc-o.bat\r
148 echo :use_cl.exe>> gsc-cc-o.bat\r
149 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
150 echo cl.exe -nologo -Oityb1 -MT -D_CRT_SECURE_NO_DEPRECATE -LD -I"%%GSC_CC_O_GAMBCDIR_INCLUDE%%" -D___DYNAMIC -D___SINGLE_HOST -Fe"%%GSC_CC_O_OBJ_FILENAME%%" %%GSC_CC_O_CC_OPTIONS%% %%GSC_CC_O_LD_OPTIONS_PRELUDE%% "%%GSC_CC_O_C_FILENAME_BASE%%" %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
151 echo goto end>> gsc-cc-o.bat\r
152 echo.>> gsc-cc-o.bat\r
153 echo :use_build_time_c_compiler>> gsc-cc-o.bat\r
154 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
155 echo gcc.exe -mno-cygwin -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fwrapv -fno-common -mieee-fp -shared -I"%%GSC_CC_O_GAMBCDIR_INCLUDE%%" -D___DYNAMIC -D___SINGLE_HOST -o "%%GSC_CC_O_OBJ_FILENAME%%" %%GSC_CC_O_CC_OPTIONS%% %%GSC_CC_O_LD_OPTIONS_PRELUDE%% "%%GSC_CC_O_C_FILENAME_BASE%%" %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
156 echo goto end>> gsc-cc-o.bat\r
157 echo.>> gsc-cc-o.bat\r
158 echo :end>> gsc-cc-o.bat\r
159 echo.>> gsc-cc-o.bat\r
160 echo exit>> gsc-cc-o.bat\r
162 cd ..\r