ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/contrib/win32build.bat
Revision: 185
Committed: Sun Oct 23 15:39:00 2005 UTC (20 years, 9 months ago) by adx
Content type: application/x-msdos-program
File size: 4977 byte(s)
Log Message:
* dynamic module support for win32

File Contents

# User Rev Content
1 adx 30 @echo off
2    
3     rem Don't change it unless you edit IRCD_PREFIX in setup-win32.h too!
4     set IRCD_PREFIX=C:\IRCD
5    
6     if exist src\ircd.c goto start
7     if exist ..\src\ircd.c goto start2
8     echo Are you sure you are executing this from ircd-hybrid sources directory?
9     goto end
10    
11     :start2
12     cd ..
13    
14     :start
15     if %1'==msvc' goto build
16     if %1'==bcc' goto build
17    
18     cls
19     echo.
20     echo IRCD-Hybrid Windows build script
21     echo (C) Copyright 2005 by the past and present ircd coders, and others.
22     echo.
23     echo Do you want to edit default ircd settings now? [Type YES or NO]
24     echo @echo off >yes.bat
25     echo edit contrib\setup-win32.h >>yes.bat
26     echo exit >>yes.bat
27     copy yes.bat y.bat >nul
28     echo @exit >no.bat
29     echo @exit >n.bat
30     %COMSPEC% /k prompt Your choice?
31     del yes.bat
32     del no.bat
33     del y.bat
34     del n.bat
35    
36     echo.
37     echo ------------------------------------------------
38     echo.
39     echo Which compiler do you want to use?
40     echo * If you are going to compile with Borland C++ Compiler, type: BCC
41     echo * If you want to use Microsoft Visual C++ Compiler, type: MSVC
42     echo @echo off >msvc.bat
43     echo call contrib\win32build msvc >>msvc.bat
44     echo exit >>msvc.bat
45     echo @echo off >bcc.bat
46     echo call contrib\win32build bcc >>bcc.bat
47     echo exit >>bcc.bat
48     %COMSPEC% /k prompt Your choice?
49     del bcc.bat
50     del msvc.bat
51     goto end2
52    
53     :build
54     echo.
55     echo *** Building ircd-hybrid
56     copy contrib\setup-win32.h include\setup.h >nul
57 adx 77 copy nul include\unistd.h >nul
58 adx 30
59 adx 77 for %%a in (ircd.exe src\dynlink.c src\irc_reslib.c src\rsa.c libio\net\res.c libio\net\reslib.c) do if exist %%a del %%a
60 adx 74 for %%a in (modules\m_challenge.c modules\m_cryptlink.c contrib\libc_vprintf.c contrib\example_module.c contrib\ip_cloaking.c) do if exist %%a del %%a
61    
62 adx 30 if %1'==msvc' goto msvc
63     set COMPILER=BCC
64 adx 153 bcc32 -tWD -6 -O -w- -elibio.dll -DIN_LIBIO -I"include" -I"libio" libio\comm\comm.c libio\comm\fdlist.c libio\comm\fileio.c libio\comm\win32.c libio\mem\*.c libio\misc\*.c libio\net\*.c libio\string\*.c
65 adx 30 if errorlevel 1 goto error
66 adx 153 if not exist libio.dll goto error
67 adx 184 implib libio.lib libio.dll
68 adx 153 if errorlevel 1 goto error
69 adx 184 if not exist libio.lib goto error
70 adx 185 bcc32 -tWD -6 -O -w- -eircd.dll -DIN_IRCD -I"include" -I"libio" src\*.c libio.lib
71 adx 184 if errorlevel 1 goto error
72 adx 185 if not exist ircd.dll goto error
73     implib ircd.lib ircd.dll
74     if errorlevel 1 goto error
75     if not exist ircd.lib goto error
76     bcc32 -tW -6 -O -w- -eircd.exe src\ircd.c ircd.lib
77     if errorlevel 1 goto error
78 adx 30 if not exist ircd.exe goto error
79     for %%a in (rehash remotd kill) do bcc32 -tW -6 -O -w- -e%%a.exe -I"include" tools\win32\%%a.c
80     goto built
81    
82     :msvc
83     set COMPILER=MSVC
84 adx 185 cl /nologo /O2 /w /Felibio.dll /DIN_LIBIO /I"include" /I"libio" libio\comm\comm.c libio\comm\fdlist.c libio\comm\fileio.c libio\comm\win32.c libio\mem\*.c libio\misc\*.c libio\net\*.c libio\string\*.c user32.lib wsock32.lib /link /dll /subsystem:windows
85 adx 30 if errorlevel 1 goto error
86 adx 153 if not exist libio.dll goto error
87 adx 184 if not exist libio.lib goto error
88 adx 185 cl /nologo /O2 /w /Feircd.dll /DIN_IRCD /I"include" /I"libio" src\*.c user32.lib wsock32.lib libio.lib /link /dll /subsystem:windows
89 adx 153 if errorlevel 1 goto error
90 adx 185 if not exist ircd.dll goto error
91     if not exist ircd.lib goto error
92     cl /nologo /O2 /w /Feircd.exe src\ircd.c ircd.lib /link /subsystem:windows
93     if errorlevel 1 goto error
94 adx 30 if not exist ircd.exe goto error
95     for %%a in (rehash remotd kill) do cl /nologo /O2 /w /Fe%%a.exe /I"include" tools\win32\%%a.c user32.lib /link /subsystem:windows
96    
97     :built
98     if errorlevel 1 goto error
99     echo.
100     echo *** Installing ircd-hybrid into %IRCD_PREFIX% ...
101     echo.
102     if not exist %IRCD_PREFIX% md %IRCD_PREFIX%
103 adx 185 for %%a in (bin etc help help\opers help\users logs messages modules modules\autoload) do if not exist %IRCD_PREFIX%\%%a md %IRCD_PREFIX%\%%a
104 adx 153 copy libio.dll %IRCD_PREFIX%\bin >nul
105 adx 185 copy ircd.dll %IRCD_PREFIX%\bin >nul
106 adx 30 copy ircd.exe %IRCD_PREFIX%\bin >nul
107     copy rehash.exe %IRCD_PREFIX%\bin >nul
108     copy remotd.exe %IRCD_PREFIX%\bin >nul
109     copy kill.exe %IRCD_PREFIX%\bin >nul
110     for %%a in (etc\*.conf etc\*.conf.quick) do copy %%a %IRCD_PREFIX%\etc >nul
111     for %%a in (cresv.conf dline.conf nresv.conf rkline.conf rxline.conf xline.conf kline.conf) do type nul >>%IRCD_PREFIX%\etc\%%a
112     for %%a in (help\opers\* help\users\*) do copy %%a %IRCD_PREFIX%\%%a >nul
113     for %%a in (messages\*.lang messages\README) do copy %%a %IRCD_PREFIX%\%%a >nul
114     echo *** Installation complete!
115     echo.
116     echo Remember to create the 'ircd.conf' file before actually starting the IRCD.
117     goto end
118    
119     :error
120     echo.
121     echo The compilation has failed. Make sure the %COMPILER% compiler you choose
122     echo is actually installed, and that you haven't accidentally corrupted
123     echo your setup.h file. A common problem is also not having the directory of
124     echo compiler binary in PATH environment variable.
125     if %COMPILER%==MSVC goto end
126     echo.
127     echo Borland C++ Compiler 5.5 users please remember to set up BCC32.CFG
128     echo in your C:\BCC\BIN directory (or wherever you installed it)!
129     echo It should contain two lines like -IC:\BCC\INCLUDE and -LC:\BCC\LIB.
130    
131     :end
132 adx 184 for %%a in (*.obj *.lib *.tds *.dll *.exp *.exe) do del %%a
133 adx 30 echo.
134     pause
135     :end2
136     rem $Id$

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision