Improve Gambit REPL (toolbar is semi transparent and the alpha can be set with set...
[gambit-c.git] / misc / vcexpress.bat
blob79e20743d9d59c945c8052e6aeac01cc62debd18
1 @rem File: "vcexpress.bat"\r
2 @rem\r
3 @rem This is a batch file to compile Gambit with the Microsoft Visual\r
4 @rem C++ 2005 Express Edition which can be obtained at no charge from\r
5 @rem Microsoft at this URL:\r
6 @rem http://msdn.microsoft.com/vstudio/express/downloads/default.aspx .\r
7 @rem You must also install the Microsoft Platform SDK.\r
8 @rem\r
9 @rem TODO: turn this into a makefile\r
11 @rem Setup environment variables\r
13 @call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"\r
14 @call "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\SetEnv.Cmd"\r
16 @rem We can't use -D___SINGLE_HOST for all Gambit generated C files\r
17 @rem because the C compiler runs out of memory while compiling _num.c\r
18 @rem and _io.c .\r
20 set COMP_GEN=cl -nologo -Oityb1 -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
22 if not "%1%" == "" (\r
23 set COMP_GEN=%COMP_GEN% -D___GAMBCDIR=\"%1%\"\r
24 )\r
26 set COMP_LIB_MH=%COMP_GEN% -D___LIBRARY\r
27 set COMP_LIB_PR_MH=%COMP_LIB_MH% -D___PRIMAL\r
28 set COMP_LIB=%COMP_LIB_MH% -D___SINGLE_HOST\r
29 set COMP_LIB_PR=%COMP_LIB_PR_MH% -D___SINGLE_HOST\r
30 set COMP_APP=%COMP_GEN% -D___SINGLE_HOST\r
32 @rem We can't rely on sed being available so we generate gambit.h\r
33 @rem from gambit.h.in by prefixing it with the needed declarations.\r
35 echo #ifndef ___VOIDSTAR_WIDTH                > include\gambit.h\r
36 echo #define ___VOIDSTAR_WIDTH ___LONG_WIDTH >> include\gambit.h\r
37 echo #endif                                  >> include\gambit.h\r
38 echo #ifndef ___MAX_CHR                      >> include\gambit.h\r
39 echo #define ___MAX_CHR 0x10ffff             >> include\gambit.h\r
40 echo #endif                                  >> include\gambit.h\r
41 type include\gambit.h.in                     >> include\gambit.h\r
43 cd lib\r
45 %COMP_LIB_PR% main.c\r
46 %COMP_LIB_PR% setup.c\r
47 %COMP_LIB_PR% mem.c\r
48 %COMP_LIB_PR% os.c\r
49 %COMP_LIB_PR% os_base.c\r
50 %COMP_LIB_PR% os_time.c\r
51 %COMP_LIB_PR% os_shell.c\r
52 %COMP_LIB_PR% os_files.c\r
53 %COMP_LIB_PR% os_dyn.c\r
54 %COMP_LIB_PR% os_tty.c\r
55 %COMP_LIB_PR% os_io.c\r
56 %COMP_LIB_PR% c_intf.c\r
58 %COMP_LIB_PR% _kernel.c\r
59 %COMP_LIB_PR% _system.c\r
60 %COMP_LIB_PR_MH% _num.c\r
61 %COMP_LIB_PR% _std.c\r
62 %COMP_LIB_PR% _eval.c\r
63 %COMP_LIB_PR_MH% _io.c\r
64 %COMP_LIB_PR% _nonstd.c\r
65 %COMP_LIB_PR% _thread.c\r
66 %COMP_LIB_PR% _repl.c\r
68 %COMP_LIB_PR% _gambc.c\r
70 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
72 cd ..\r
74 cd gsi\r
76 %COMP_LIB% _gsilib.c\r
77 %COMP_LIB% _gambcgsi.c\r
78 %COMP_APP% _gsi.c\r
79 %COMP_APP% _gsi_.c\r
81 cl -Fegsi.exe ..\lib\libgambc.lib _gsilib.obj _gambcgsi.obj _gsi.obj _gsi_.obj Kernel32.Lib User32.Lib Gdi32.Lib WS2_32.Lib\r
83 cd ..\r
85 cd gsc\r
87 %COMP_LIB% _host.c\r
88 %COMP_LIB% _utils.c\r
89 %COMP_LIB% _source.c\r
90 %COMP_LIB% _parms.c\r
91 %COMP_LIB% _env.c\r
92 %COMP_LIB% _ptree1.c\r
93 %COMP_LIB% _ptree2.c\r
94 %COMP_LIB% _gvm.c\r
95 %COMP_LIB% _back.c\r
96 %COMP_LIB% _front.c\r
97 %COMP_LIB% _prims.c\r
98 %COMP_LIB% _t-c-1.c\r
99 %COMP_LIB% _t-c-2.c\r
100 %COMP_LIB% _t-c-3.c\r
101 %COMP_LIB% _gsclib.c\r
102 %COMP_LIB% _gambcgsc.c\r
103 %COMP_APP% _gsc.c\r
104 %COMP_APP% _gsc_.c\r
106 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
108 cd ..\r
110 cd bin\r
112 echo @echo off> gsc-cc-o.bat\r
113 echo.>> gsc-cc-o.bat\r
114 echo rem Script parameters are passed in the following environment variables:>> gsc-cc-o.bat\r
115 echo rem   GSC_CC_O_GAMBCDIR_BIN>> gsc-cc-o.bat\r
116 echo rem   GSC_CC_O_GAMBCDIR_INCLUDE>> gsc-cc-o.bat\r
117 echo rem   GSC_CC_O_GAMBCDIR_LIB>> gsc-cc-o.bat\r
118 echo rem   GSC_CC_O_OBJ_FILENAME>> gsc-cc-o.bat\r
119 echo rem   GSC_CC_O_C_FILENAME_DIR>> gsc-cc-o.bat\r
120 echo rem   GSC_CC_O_C_FILENAME_BASE>> gsc-cc-o.bat\r
121 echo rem   GSC_CC_O_CC_OPTIONS>> gsc-cc-o.bat\r
122 echo rem   GSC_CC_O_LD_OPTIONS_PRELUDE>> gsc-cc-o.bat\r
123 echo rem   GSC_CC_O_LD_OPTIONS>> gsc-cc-o.bat\r
124 echo.>> gsc-cc-o.bat\r
125 echo rem echo GSC_CC_O_GAMBCDIR_BIN = %%GSC_CC_O_GAMBCDIR_BIN%%>> gsc-cc-o.bat\r
126 echo rem echo GSC_CC_O_GAMBCDIR_INCLUDE = %%GSC_CC_O_GAMBCDIR_INCLUDE%%>> gsc-cc-o.bat\r
127 echo rem echo GSC_CC_O_GAMBCDIR_LIB = %%GSC_CC_O_GAMBCDIR_LIB%%>> gsc-cc-o.bat\r
128 echo rem echo GSC_CC_O_OBJ_FILENAME = %%GSC_CC_O_OBJ_FILENAME%%>> gsc-cc-o.bat\r
129 echo rem echo GSC_CC_O_C_FILENAME_DIR = %%GSC_CC_O_C_FILENAME_DIR%%>> gsc-cc-o.bat\r
130 echo rem echo GSC_CC_O_C_FILENAME_BASE = %%GSC_CC_O_C_FILENAME_BASE%%>> gsc-cc-o.bat\r
131 echo rem echo GSC_CC_O_CC_OPTIONS = %%GSC_CC_O_CC_OPTIONS%%>> gsc-cc-o.bat\r
132 echo rem echo GSC_CC_O_LD_OPTIONS_PRELUDE = %%GSC_CC_O_LD_OPTIONS_PRELUDE%%>> gsc-cc-o.bat\r
133 echo rem echo GSC_CC_O_LD_OPTIONS = %%GSC_CC_O_LD_OPTIONS%%>> gsc-cc-o.bat\r
134 echo.>> gsc-cc-o.bat\r
135 echo for %%%%f in (cl.exe gcc.exe wcl386.exe) do if not "%%%%~$PATH:f" == "" goto use_%%%%%%f>> gsc-cc-o.bat\r
136 echo.>> gsc-cc-o.bat\r
137 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
138 echo exit 1 >> gsc-cc-o.bat\r
139 echo.>> gsc-cc-o.bat\r
140 echo :use_gcc.exe>> gsc-cc-o.bat\r
141 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
142 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
143 echo goto end>> gsc-cc-o.bat\r
144 echo.>> gsc-cc-o.bat\r
145 echo :use_wcl386.exe>> gsc-cc-o.bat\r
146 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
147 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
148 echo goto end>> gsc-cc-o.bat\r
149 echo.>> gsc-cc-o.bat\r
150 echo :use_cl.exe>> gsc-cc-o.bat\r
151 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
152 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
153 echo goto end>> gsc-cc-o.bat\r
154 echo.>> gsc-cc-o.bat\r
155 echo :use_build_time_c_compiler>> gsc-cc-o.bat\r
156 echo cd "%GSC_CC_O_C_FILENAME_DIR%">> gsc-cc-o.bat\r
157 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
158 echo goto end>> gsc-cc-o.bat\r
159 echo.>> gsc-cc-o.bat\r
160 echo :end>> gsc-cc-o.bat\r
161 echo.>> gsc-cc-o.bat\r
162 echo exit>> gsc-cc-o.bat\r
164 cd ..\r