Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Server Code Submissions

Reply
 
Thread Tools Display Modes
  #1  
Old 04-29-2009, 04:18 PM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default 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.
Code:
sh prepare.sh
run
Code:
autoreconf -fi
create a directory for the build process
Code:
mkdir build
cd into the build directory
Code:
cd build
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
Code:
make
to install everything
Code:
make install
Have fun!
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #2  
Old 04-29-2009, 10:36 PM
drakelord
Hill Giant
 
Join Date: Nov 2002
Location: NC, USA
Posts: 182
Default

Interesting. Is this something that has to be rebuilt with each revision, or will it automatically download new revision files?
__________________
Hmm.
Reply With Quote
  #3  
Old 04-30-2009, 12:23 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

the archive has a folder called EMUShareMem, should be called EMuShareMem, otherwise seems to work
Reply With Quote
  #4  
Old 04-30-2009, 02:28 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by demonstar55 View Post
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
Reply With Quote
  #5  
Old 04-30-2009, 11:05 AM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

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.
Reply With Quote
  #6  
Old 04-30-2009, 02:42 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

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!
Reply With Quote
  #7  
Old 04-30-2009, 05:05 PM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by cavedude View Post
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!
Feel free to do what ever you want with this. I ve made this for the eqemu community.*
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #8  
Old 05-01-2009, 07:21 AM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

Is there an option to over-ride the gcc, g++ and library versions? Auto-detection will fail on my system.
Reply With Quote
  #9  
Old 05-01-2009, 10:32 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by Kobaz View Post
Is there an option to over-ride the gcc, g++ and library versions? Auto-detection will fail on my system.
You could try this:
CC=gcc-4.0 CPP=cpp-4.0 ../configure
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #10  
Old 05-01-2009, 10:33 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Update the archive! There was a problem with the --with-loglevel option
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #11  
Old 05-03-2009, 02:46 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by loic View Post
didnt work on fedora core 6 but an awesome tool none the less
can you tell me what doesnt work? maybe post the config.log
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #12  
Old 05-03-2009, 06:10 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

It looks like the m4 directory wasnt created. normally "autoreconf -fi" should create it.

could you rerun "autoreconf -fi" in the root source dir, if there is no m4 directory
create one with "mkdir m4" and try again.

Do you have libtool installed?
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #13  
Old 05-03-2009, 06:39 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by loic View Post
reran it didnt make the m4 dir but making it manually fixed it it looks like awesome job
I have update the archive with a new prepare.sh script, that creates the missing directory.

Currently in the works:
- options to specify the path to mysql_config
- cleanups
- comments
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
  #14  
Old 05-05-2009, 03:23 PM
amraist
Fire Beetle
 
Join Date: Aug 2005
Posts: 29
Default

does eqemu compile on freebsd?
Reply With Quote
  #15  
Old 05-06-2009, 03:18 AM
erde
Sarnak
 
Join Date: Sep 2006
Location: Germany
Posts: 82
Default

Quote:
Originally Posted by amraist View Post
does eqemu compile on freebsd?
It does, when i remember right there is one compile error, but not hard to fix.
__________________
"Yes, the artwork is awful. I am an engineer, not an artist " - David H. Eberly
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:02 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3