|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
04-29-2009, 04:18 PM
|
Sarnak
|
|
Join Date: Sep 2006
Location: Germany
Posts: 82
|
|
autobuild for Linux, FreeBSD, OS X
I had some free time and thought it would be nice to have autobuild scripts for eqemu.
Ok, here it is! This will make the build process easier. For example to enable bots, simply configure with
Code:
configure --enable-bots --prefix=/path/to/install
thats it.
The build system is tested with
- Mac OS X 10.5.6 (Intel Mac)
- Debian GNU/Linux 5.0.1 32bit (Pentium 4)
- Debian GNU/Linux 5.0.1 64bit (Intel Quad Core)
Ok, some features:
- detect build system OS(Linux/FreeBSD/Darwin), architectur (32/64bit)
- detect mysql
- detect perl
- set install path
- installs all needed files!
- build options (Bots/Debug/LogLevel/Compile Warnings)
not yet implemented:
- detect libperl
here is a overview of the configure options:
Code:
--prefix path to install
--enable-debug Turn on debugging
--enable-warnings enable compile warnings
--enable-bots Turn on bots
--with-loglevel Set loglevel (default: 5)
// 0 <= Quiet mode Errors to file Status and Normal ignored
// 1 >= Status and Normal to console, Errors to file
// 2 >= Status, Normal, and Error to console and logfile
// 3 >= Lite debug
// 4 >= Medium debug
// 5 >= Debug release (Anything higher is not recommended for regular use)
// 6 == (Reserved for special builds) Login opcode debug All packets dumped
// 7 == (Reserved for special builds) Chat Opcode debug All packets dumped
// 8 == (Reserved for special builds) World opcode debug All packets dumped
// 9 == (Reserved for special builds) Zone Opcode debug All packets dumped
// 10 >= More than you ever wanted to know
Ok, now here is how it works:
cd into the EQEmulator Source directory
get the build system
Code:
wget http://quadfreunde-ergoldsbach.de/eqemu/eqbuild.tgz
unpack
Code:
tar xvzf eqbuild.tgz
run prepare.sh, this will remove all previous makefiles and create missing files.
run
create a directory for the build process
cd into the build directory
run configure
Code:
../configure --prefix=/path/to/install
This will build eqemu with the default options.
To enable bots configure with
Code:
../configure --enable-bots --prefix=/path/to/install
To set the loglevel to 3 "Status, Normal, and Error to console and logfile" do
Code:
../configure --with-loglevel=3 --prefix=/path/to/install
to compile simply do
to install everything
Have fun!
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
|
|
|
|
04-29-2009, 10:36 PM
|
Hill Giant
|
|
Join Date: Nov 2002
Location: NC, USA
Posts: 182
|
|
Interesting. Is this something that has to be rebuilt with each revision, or will it automatically download new revision files?
__________________
Hmm.
|
04-30-2009, 12:23 AM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
the archive has a folder called EMUShareMem, should be called EMuShareMem, otherwise seems to work
|
04-30-2009, 02:28 AM
|
Sarnak
|
|
Join Date: Sep 2006
Location: Germany
Posts: 82
|
|
Quote:
Originally Posted by demonstar55
the archive has a folder called EMUShareMem, should be called EMuShareMem, otherwise seems to work
|
Thanks for testing! the archive contains now the newest files and i have renamed EMUSharedMem to the correct name.
Quote:
Interesting. Is this something that has to be rebuilt with each revision, or will it automatically download new revision files?
|
No, this downloads nothing. Its just a build system so you dont have to be aware what makefile is used. Just do
Code:
configure --prefix=/path/to/install
make
make install
and you are done.
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
|
04-30-2009, 11:05 AM
|
Dragon
|
|
Join Date: Feb 2007
Posts: 659
|
|
Dude, this is awesome. I have a script that I use to download and build everything but that is small potatoes compared to this. I may combine that with this to get a fully functional build.
|
04-30-2009, 02:42 PM
|
|
The PEQ Dude
|
|
Join Date: Apr 2003
Location: -
Posts: 1,988
|
|
I've been commissioned to take a look at this and possibly add it to the SVN, if that's alright, with you erde? This is exactly what *nix users of EQEmu have needed for some time!
|
03-06-2011, 02:52 PM
|
Sarnak
|
|
Join Date: Jan 2010
Posts: 53
|
|
downloaded the eqbuild.tgz and extracted it to /home/lanys/eqemu/build I was able to run the prepare.sh file, i saw it add a few things to the build folder. but when I run autoreconf -fi I get an error;
[root@localhost build]# autoreconf -fi
configure.ac:13: error: possibly undefined macro: AC_DISABLE_STATIC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:26: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1
[root@localhost build]#
I am running centOS 5 new install, have apache php perl and mysql running.
thanks for any help
|
|
|
|
03-06-2011, 09:34 PM
|
Sarnak
|
|
Join Date: Jan 2010
Posts: 53
|
|
fixed the above error now it just bombs out when i try to (make)
make[1]: *** [dbcore.o] Error 1
make[1]: Leaving directory `/home/lanys/eqemu/build/build/chatserver'
make: *** [all-recursive] Error 1
could use some help on this one
can do make clean - it runs through fine, but make still has an error.
Code:
[root@localhost build]# make
Making all in chatserver
make[1]: Entering directory `/home/lanys/eqemu/build/build/chatserver'
if g++ -DPACKAGE_NAME=\"eqemu\" -DPACKAGE_TARNAME=\"eqemu\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"eqemu\ 0.8.0\" -DPACKAGE_BUGREPORT=\"http://www.eqemulator.net\" -DPACKAGE=\"eqemu\" -DVERSION=\"0.8.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DX86=1 -DHAVE_LIBPTHREAD=1 -I. -I../../chatserver -I/usr/include -I/usr/local/include -DCHAT -DIRC -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE -I/usr/include/mysql -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DINVERSEXY -DCATCH_CRASH -DLINUX -Di386 -DEQDEBUG=5 -DBOTS=1 -O2 -MT BasePacket.o -MD -MP -MF ".deps/BasePacket.Tpo" -c -o BasePacket.o `test -f '../common/BasePacket.cpp' || echo '../../chatserver/'`../common/BasePacket.cpp; \
then mv -f ".deps/BasePacket.Tpo" ".deps/BasePacket.Po"; else rm -f ".deps/BasePacket.Tpo"; exit 1; fi
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
if g++ -DPACKAGE_NAME=\"eqemu\" -DPACKAGE_TARNAME=\"eqemu\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"eqemu\ 0.8.0\" -DPACKAGE_BUGREPORT=\"http://www.eqemulator.net\" -DPACKAGE=\"eqemu\" -DVERSION=\"0.8.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DX86=1 -DHAVE_LIBPTHREAD=1 -I. -I../../chatserver -I/usr/include -I/usr/local/include -DCHAT -DIRC -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE -I/usr/include/mysql -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DINVERSEXY -DCATCH_CRASH -DLINUX -Di386 -DEQDEBUG=5 -DBOTS=1 -O2 -MT Condition.o -MD -MP -MF ".deps/Condition.Tpo" -c -o Condition.o `test -f '../common/Condition.cpp' || echo '../../chatserver/'`../common/Condition.cpp; \
then mv -f ".deps/Condition.Tpo" ".deps/Condition.Po"; else rm -f ".deps/Condition.Tpo"; exit 1; fi
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
if g++ -DPACKAGE_NAME=\"eqemu\" -DPACKAGE_TARNAME=\"eqemu\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"eqemu\ 0.8.0\" -DPACKAGE_BUGREPORT=\"http://www.eqemulator.net\" -DPACKAGE=\"eqemu\" -DVERSION=\"0.8.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DX86=1 -DHAVE_LIBPTHREAD=1 -I. -I../../chatserver -I/usr/include -I/usr/local/include -DCHAT -DIRC -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE -I/usr/include/mysql -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DINVERSEXY -DCATCH_CRASH -DLINUX -Di386 -DEQDEBUG=5 -DBOTS=1 -O2 -MT CRC16.o -MD -MP -MF ".deps/CRC16.Tpo" -c -o CRC16.o `test -f '../common/CRC16.cpp' || echo '../../chatserver/'`../common/CRC16.cpp; \
then mv -f ".deps/CRC16.Tpo" ".deps/CRC16.Po"; else rm -f ".deps/CRC16.Tpo"; exit 1; fi
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
if g++ -DPACKAGE_NAME=\"eqemu\" -DPACKAGE_TARNAME=\"eqemu\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"eqemu\ 0.8.0\" -DPACKAGE_BUGREPORT=\"http://www.eqemulator.net\" -DPACKAGE=\"eqemu\" -DVERSION=\"0.8.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DX86=1 -DHAVE_LIBPTHREAD=1 -I. -I../../chatserver -I/usr/include -I/usr/local/include -DCHAT -DIRC -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE -I/usr/include/mysql -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DINVERSEXY -DCATCH_CRASH -DLINUX -Di386 -DEQDEBUG=5 -DBOTS=1 -O2 -MT crc32.o -MD -MP -MF ".deps/crc32.Tpo" -c -o crc32.o `test -f '../common/crc32.cpp' || echo '../../chatserver/'`../common/crc32.cpp; \
then mv -f ".deps/crc32.Tpo" ".deps/crc32.Po"; else rm -f ".deps/crc32.Tpo"; exit 1; fi
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
../../chatserver/../common/crc32.cpp:105:2: warning: #warning "Comment out i386 define if your arch isn't x86"
if g++ -DPACKAGE_NAME=\"eqemu\" -DPACKAGE_TARNAME=\"eqemu\" -DPACKAGE_VERSION=\"0.8.0\" -DPACKAGE_STRING=\"eqemu\ 0.8.0\" -DPACKAGE_BUGREPORT=\"http://www.eqemulator.net\" -DPACKAGE=\"eqemu\" -DVERSION=\"0.8.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DX86=1 -DHAVE_LIBPTHREAD=1 -I. -I../../chatserver -I/usr/include -I/usr/local/include -DCHAT -DIRC -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -I/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE -I/usr/include/mysql -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DINVERSEXY -DCATCH_CRASH -DLINUX -Di386 -DEQDEBUG=5 -DBOTS=1 -O2 -MT dbcore.o -MD -MP -MF ".deps/dbcore.Tpo" -c -o dbcore.o `test -f '../common/dbcore.cpp' || echo '../../chatserver/'`../common/dbcore.cpp; \
then mv -f ".deps/dbcore.Tpo" ".deps/dbcore.Po"; else rm -f ".deps/dbcore.Tpo"; exit 1; fi
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid for C/ObjC but not for C++
../../chatserver/../common/dbcore.cpp:10:20: error: errmsg.h: No such file or directory
../../chatserver/../common/dbcore.cpp:11:26: error: mysqld_error.h: No such file or directory
In file included from ../../chatserver/../common/dbcore.cpp:13:
../../chatserver/../common/dbcore.h:9:19: error: mysql.h: No such file or directory
../../chatserver/../common/dbcore.h:25: error: ‘MYSQL_RES’ has not been declared
../../chatserver/../common/dbcore.h:28: error: ISO C++ forbids declaration of ‘MYSQL’ with no type
../../chatserver/../common/dbcore.h:28: error: expected ‘;’ before ‘*’ token
../../chatserver/../common/dbcore.h:30: error: expected `;' before ‘static’
../../chatserver/../common/dbcore.h:36: error: ‘MYSQL’ does not name a type
../../chatserver/../common/dbcore.cpp: In constructor ‘DBcore::DBcore()’:
../../chatserver/../common/dbcore.cpp:35: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:35: error: ‘mysql_init’ was not declared in this scope
../../chatserver/../common/dbcore.cpp: In destructor ‘DBcore::~DBcore()’:
../../chatserver/../common/dbcore.cpp:45: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:45: error: ‘mysql_close’ was not declared in this scope
../../chatserver/../common/dbcore.cpp: In member function ‘void DBcore::ping()’:
../../chatserver/../common/dbcore.cpp:139: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:139: error: ‘mysql_ping’ was not declared in this scope
../../chatserver/../common/dbcore.cpp: At global scope:
../../chatserver/../common/dbcore.cpp:143: error: ‘MYSQL_RES’ has not been declared
../../chatserver/../common/dbcore.cpp: In member function ‘bool DBcore::RunQuery(const char*, int32, char*, int**, int32*, int32*, int32*, bool)’:
../../chatserver/../common/dbcore.cpp:158: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:158: error: ‘mysql_real_query’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:159: error: ‘mysql_errno’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:159: error: ‘CR_SERVER_GONE_ERROR’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:161: error: ‘mysql_errno’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:161: error: ‘CR_SERVER_LOST’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:161: error: ‘CR_SERVER_GONE_ERROR’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:171: error: ‘MYSQL_ERRMSG_SIZE’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:171: error: ‘mysql_error’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:172: error: ‘mysql_error’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:180: error: ‘MYSQL_ERRMSG_SIZE’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:180: error: ‘mysql_error’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:188: error: ‘mysql_field_count’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:189: error: ‘mysql_store_result’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:197: error: ‘mysql_affected_rows’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:199: error: ‘mysql_insert_id’ was not declared in this scope
../../chatserver/../common/dbcore.cpp: In member function ‘int32 DBcore::DoEscapeString(char*, const char*, int32)’:
../../chatserver/../common/dbcore.cpp:238: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:238: error: ‘mysql_real_escape_string’ was not declared in this scope
../../chatserver/../common/dbcore.cpp: In member function ‘bool DBcore::Open(int32*, char*)’:
../../chatserver/../common/dbcore.cpp:264: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:264: error: ‘mysql_close’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:272: error: ‘CLIENT_FOUND_ROWS’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:274: error: ‘CLIENT_COMPRESS’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:276: error: ‘CLIENT_SSL’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:277: error: ‘mysql’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:277: error: ‘mysql_real_connect’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:283: error: ‘mysql_errno’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:285: error: ‘MYSQL_ERRMSG_SIZE’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:285: error: ‘mysql_errno’ was not declared in this scope
../../chatserver/../common/dbcore.cpp:285: error: ‘mysql_error’ was not declared in this scope
make[1]: *** [dbcore.o] Error 1
make[1]: Leaving directory `/home/lanys/eqemu/build/build/chatserver'
make: *** [all-recursive] Error 1
|
|
|
|
03-06-2011, 11:03 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,743
|
|
It would appear you do not have the mysql development files installed, or it just didn't find them.
|
03-07-2011, 12:03 AM
|
Sarnak
|
|
Join Date: Jan 2010
Posts: 53
|
|
that worked i can run throug the steps., I can't figure out what to do next though.
thanks for the help!
|
03-07-2011, 08:59 AM
|
Sarnak
|
|
Join Date: Jan 2010
Posts: 53
|
|
Quote:
Originally Posted by lanystvyl
that worked i can run through the steps., I can't figure out what to do next though.
thanks for the help!
|
must have been really tired last night :P I found the compiled executable. Should be able to put every thing where it belongs.
Awesome script - all my issues where due to not having the right programs loaded, really great job.
|
05-26-2011, 10:13 AM
|
Sarnak
|
|
Join Date: Sep 2008
Location: -
Posts: 31
|
|
While working on a fresh SVN compile, I had some issues to work through.
Specifically, here's what I did to make the compile work:
prepare.sh needs to be updated. It did not remove these files:
./eqlaunch/makefile.vc2003
./world/makefile.vc2003
./EQEmuLoginServer/makefile
./EQEmuLoginServer/makefile.common
./ucs/makefile
./ucs/makefile.common
./zone/makefile.vc2003
./EMuShareMem/makefile.vc2003
Hand edited ./ucs/Makefile (this should be done with autocof I'm sure, but I didn't follow through editing those files):
old value: LIBS = -lpthread
new value: LIBS = -lpthread -ldl
Hand edited ./zone/Makefile (again, autoconf, but I got it working):
am_zone_OBJECTS = line
This was missing: "QuestParserCollection.$(OBJEXT)" so I added it.
Everything compiled and worked after these few edits. Just wanted to let you know for any updates that you might like to do.
-ork
|
|
|
|
05-26-2011, 11:52 AM
|
Sarnak
|
|
Join Date: Sep 2008
Location: -
Posts: 31
|
|
For anyone interested in adding the EQEmuLoginServer to the autobuild scripts, I spent a few minutes working this out. Read below for how I did it.
Before building, you must extract the proper library from the appropriate zip in the ./EQEmuLoginServer/login_utils/linux/ directory. Update ./EQEmuLoginServer/Makefile.am as follows:
Code:
DEFAULT_INCLUDES=
AM_CPPFLAGS = -DEQLOGIN -DCOMBINED $(MYSQL_INCLUDES)
EQEMULOBINSERVER_INC = -L.
EQEMULOGINSERVER_LIBS = -lEQEmuAuthCrypto -lcryptopp
bindir=$(prefix)
bin_PROGRAMS = EQEmuLoginServer
EQEmuLoginServer_LDFLAGS = $(MYSQL_LIBS) $(LDFLAGS) -ldl $(EQEMULOBINSERVER_INC) $(EQEMULOGINSERVER_LIBS)
EQEmuLoginServer_SOURCES = \
Client.cpp \
Client.h \
ClientManager.cpp \
ClientManager.h \
Config.cpp \
Config.h \
Database.h \
DatabaseMySQL.h \
DatabasePostgreSQL.h \
ErrorLog.cpp \
LoginServer.h \
Main.cpp \
ServerManager.cpp \
WorldServer.cpp \
DatabaseMySQL.cpp \
DatabasePostgreSQL.cpp \
EQCryptoAPI.h \
ErrorLog.h \
LoginStructures.h \
Options.h \
ServerManager.h \
WorldServer.h \
../common/BasePacket.cpp \
../common/Condition.cpp \
../common/CRC16.cpp \
../common/crc32.cpp \
../common/debug.cpp \
../common/debug.h \
../common/emu_opcodes.cpp \
../common/EmuTCPConnection.cpp \
../common/EmuTCPServer.cpp \
../common/EQPacket.cpp \
../common/EQStream.cpp \
../common/EQStreamFactory.cpp \
../common/logsys.cpp \
../common/logsys_eqemu.cpp \
../common/misc.cpp \
../common/MiscFunctions.cpp \
../common/Mutex.cpp \
../common/opcodemgr.cpp \
../common/packet_dump.cpp \
../common/packet_functions.cpp \
../common/rdtsc.cpp \
../common/TCPConnection.cpp \
../common/TCPServer.cpp \
../common/timeoutmgr.cpp \
../common/timer.cpp \
../common/unix.cpp
You must also update the ./configure.am just a bit to include this make file as (addition in red):
Code:
# AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
chatserver/Makefile
EMuShareMem/Makefile
EQEmuLoginServer/Makefile
eqlaunch/Makefile
mailserver/Makefile
ucs/Makefile
utils/Makefile
utils/defaults/Makefile
utils/defaults/templates/Makefile
utils/defaults/templates/TMimages/Makefile
world/Makefile
zone/Makefile
])
Rerun 'autoreconf -fi' and then a './configure' and 'make' and the login server should be built properly.
-ork
|
|
|
|
05-26-2011, 12:47 PM
|
Sarnak
|
|
Join Date: Sep 2008
Location: -
Posts: 31
|
|
Follow up to my post to posts back. I took the time to edit the needed files in the build system to do the two problems I ran into automatically:
./configure.ac needs to be updated to reflect:
Code:
## Check for required libraries.
AC_CHECK_LIB( pthread, pthread_create, [],
[LDFLAGS="-pthread $LDFLAGS"
AC_TRY_LINK([char pthread_create();],
pthread_create();,
[], [AC_MSG_ERROR([Missing pthread])])
])
# dl
AC_CHECK_LIB( dl, dlopen, [],
[LDFLAGS="-ldl $LDFLAGS"
AC_TRY_LINK([char dlopen();],
dlopen();,
[], [AC_MSG_ERROR([Missing libdl])])
])
# Check for zlib
AC_CHECK_LIB( z, compress, [ZLIB=-lz],[AC_MSG_ERROR([Missing zlib])] )
./zone/Makefile.am needs to be updated to reflect:
Code:
questmgr.cpp \
questmgr.h \
QuestParserCollection.cpp \
QuestParserCollection.h \
QGlobals.cpp \
QGlobals.h \
'autoreconf -fi', './configure', 'make'.. etc etc..
-orkim
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 09:43 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|