EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Server Code Submissions (https://www.eqemulator.org/forums/forumdisplay.php?f=669)
-   -   autobuild for Linux, FreeBSD, OS X (https://www.eqemulator.org/forums/showthread.php?t=28050)

erde 04-29-2009 04:18 PM

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!

drakelord 04-29-2009 10:36 PM

Interesting. Is this something that has to be rebuilt with each revision, or will it automatically download new revision files?

demonstar55 04-30-2009 12:23 AM

the archive has a folder called EMUShareMem, should be called EMuShareMem, otherwise seems to work

erde 04-30-2009 02:28 AM

Quote:

Originally Posted by demonstar55 (Post 168683)
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.

Andrew80k 04-30-2009 11:05 AM

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.

cavedude 04-30-2009 02:42 PM

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!

erde 04-30-2009 05:05 PM

Quote:

Originally Posted by cavedude (Post 168738)
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.*

Kobaz 05-01-2009 07:21 AM

Is there an option to over-ride the gcc, g++ and library versions? Auto-detection will fail on my system.

erde 05-01-2009 10:32 AM

Quote:

Originally Posted by Kobaz (Post 168796)
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

erde 05-01-2009 10:33 AM

Update the archive! There was a problem with the --with-loglevel option

erde 05-03-2009 02:46 AM

Quote:

Originally Posted by loic (Post 168946)
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

erde 05-03-2009 06:10 AM

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?

erde 05-03-2009 06:39 AM

Quote:

Originally Posted by loic (Post 168957)
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

amraist 05-05-2009 03:23 PM

does eqemu compile on freebsd?

erde 05-06-2009 03:18 AM

Quote:

Originally Posted by amraist (Post 169130)
does eqemu compile on freebsd?

It does, when i remember right there is one compile error, but not hard to fix.


All times are GMT -4. The time now is 12:14 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.