ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/contrib/win32build.bat
Revision: 153
Committed: Mon Oct 17 21:20:34 2005 UTC (20 years, 9 months ago) by adx
Content type: application/x-msdos-program
File size: 4936 byte(s)
Log Message:
- compile libio as a dll on win32
- next step is compiling the whole ircd as a dll to export its symbols
- after that, we'll be able to support loadable *.dll modules.

NOTE: m_operspy.c doesn't compile now (error at localClient->iline)

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     bcc32 -tW -6 -O -w- -eircd.exe -I"include" -I"libio" src\*.c modules\*.c modules\core\*.c contrib\*.c
68     if errorlevel 1 goto error
69 adx 30 if not exist ircd.exe goto error
70     for %%a in (rehash remotd kill) do bcc32 -tW -6 -O -w- -e%%a.exe -I"include" tools\win32\%%a.c
71     goto built
72    
73     :msvc
74     set COMPILER=MSVC
75 adx 153 cl /nologo /O2 /w /Felibio.dll /I"include" /I"libio" /DIN_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
76 adx 30 if errorlevel 1 goto error
77 adx 153 if not exist libio.dll goto error
78     cl /nologo /O2 /w /Feircd.exe /I"include" /I"libio" src\*.c modules\*.c modules\core\*.c contrib\*.c user32.lib wsock32.lib /link /subsystem:windows
79     if errorlevel 1 goto error
80 adx 30 if not exist ircd.exe goto error
81     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
82    
83     :built
84     if errorlevel 1 goto error
85     for %%a in (rehash.exe remotd.exe kill.exe) do if not exist %%a goto error
86     for %%a in (src\*.obj) do del %%a
87     for %%a in (modules\*.obj) do del %%a
88     for %%a in (modules\core\*.obj) do del %%a
89     for %%a in (lib\pcre\*.obj) do del %%a
90     for %%a in (*.obj) do del %%a
91    
92     echo.
93     echo *** Installing ircd-hybrid into %IRCD_PREFIX% ...
94     echo.
95     if not exist %IRCD_PREFIX% md %IRCD_PREFIX%
96     for %%a in (bin etc help help\opers help\users logs messages) do if not exist %IRCD_PREFIX%\%%a md %IRCD_PREFIX%\%%a
97 adx 153 copy libio.dll %IRCD_PREFIX%\bin >nul
98 adx 30 copy ircd.exe %IRCD_PREFIX%\bin >nul
99     copy rehash.exe %IRCD_PREFIX%\bin >nul
100     copy remotd.exe %IRCD_PREFIX%\bin >nul
101     copy kill.exe %IRCD_PREFIX%\bin >nul
102     for %%a in (etc\*.conf etc\*.conf.quick) do copy %%a %IRCD_PREFIX%\etc >nul
103     for %%a in (cresv.conf dline.conf nresv.conf rkline.conf rxline.conf xline.conf kline.conf) do type nul >>%IRCD_PREFIX%\etc\%%a
104     for %%a in (help\opers\* help\users\*) do copy %%a %IRCD_PREFIX%\%%a >nul
105     for %%a in (messages\*.lang messages\README) do copy %%a %IRCD_PREFIX%\%%a >nul
106     echo *** Installation complete!
107     echo.
108     echo Remember to create the 'ircd.conf' file before actually starting the IRCD.
109     goto end
110    
111     :error
112 adx 153 for %%a in (libio.dll ircd.exe rehash.exe remotd.exe kill.exe) do if exist %%a del %%a
113 adx 30 for %%a in (src\*.obj) do del %%a
114     for %%a in (modules\*.obj) do del %%a
115     for %%a in (modules\core\*.obj) do del %%a
116     for %%a in (lib\pcre\*.obj) do del %%a
117     for %%a in (*.obj) do del %%a
118     echo.
119     echo The compilation has failed. Make sure the %COMPILER% compiler you choose
120     echo is actually installed, and that you haven't accidentally corrupted
121     echo your setup.h file. A common problem is also not having the directory of
122     echo compiler binary in PATH environment variable.
123     if %COMPILER%==MSVC goto end
124     echo.
125     echo Borland C++ Compiler 5.5 users please remember to set up BCC32.CFG
126     echo in your C:\BCC\BIN directory (or wherever you installed it)!
127     echo It should contain two lines like -IC:\BCC\INCLUDE and -LC:\BCC\LIB.
128    
129     :end
130     echo.
131     pause
132     :end2
133     rem $Id$

Properties

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