diff options
author | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-09-20 11:09:36 +0000 |
---|---|---|
committer | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-09-20 11:09:36 +0000 |
commit | 5245e666a09df5f401c1329bf5ee1fc1b09b1d16 (patch) | |
tree | dcf032743e890fddd400b268b75a0868976b0a0b /configure | |
parent | d23c508bcc38520970156e5e25f14b03714878eb (diff) | |
download | hercules-5245e666a09df5f401c1329bf5ee1fc1b09b1d16.tar.gz hercules-5245e666a09df5f401c1329bf5ee1fc1b09b1d16.tar.bz2 hercules-5245e666a09df5f401c1329bf5ee1fc1b09b1d16.tar.xz hercules-5245e666a09df5f401c1329bf5ee1fc1b09b1d16.zip |
* Merged the tmpsql branch:
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'configure')
-rw-r--r-- | configure | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/configure b/configure deleted file mode 100644 index b50031368..000000000 --- a/configure +++ /dev/null @@ -1,256 +0,0 @@ -#!/bin/bash -## NOTE: -## I know this is not a clean way to check for some stuff -## and edit the Makefile, but hey, it does work! - -# Configure script for eAthena -# Copyright (C) 2005 dontBR -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -# Default variables -status_mmx="No" -status_sse="No" -status_sse2="No" -status_sse3="No" -status_pcre="No" -prefix='/opt/eathena/' - -# Functions -function check_sed { - echo -n "Checking for sed... " - if [ -f $(which sed) ]; then - echo "yes" - else - echo "Error: sed not found in $PATH" - exit 1 - fi -} - -function check_gcc { - echo -n "Checking for gcc... " - if [ -f $(which gcc) ]; then - echo "yes" - else - echo "Error: GCC not found in $PATH" - exit 1 - fi -} - -function check_make { - echo -n "Checking for (g)make... " - if [ -f $(which make) ]; then - maker=make - echo "yes" - else if [ -f $(which gmake) ]; then - maker=gmake - echo "yes" - else - echo "Error: (g)make not found in $PATH" - exit 1 - fi - fi -} - -function check_sockets { - echo -n "Checking for sockets... " - echo "#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -int main(){ -}" > test_sockets.c - if $(gcc test_sockets.c -o test_sockets); then - echo "yes" - rm -f test_sockets.c test_sockets - else - echo "Error: Unix sockets not found/working." - exit 1 - rm -f test_sockets.c - fi -} - -function check_mysql_headers { - echo -n "Checking for MySQL headers... " - if [ -d /usr/local/lib/mysql ]; then # Default - echo "yes" - mysql_headers_path='/usr/local/lib/mysql' - else - if [ -d /usr/include/mysql ]; then # Gentoo/Debian/? - echo "yes" - mysql_headers_path='/usr/include/mysql' - else - echo "Error: MySQL headers not found." - mysql_headers_path='Not found.' - fi - fi -} - -function optimize { - case $@ in - mmx ) status_mmx="Yes" ;; - sse ) status_sse="Yes" ;; - sse2 ) status_sse2="Yes" ;; - sse3 ) status_sse3="Yes" ;; - all ) status_mmx="Yes" - status_sse="Yes" - status_sse2="Yes" - status_sse3="Yes" ;; - esac -} - -function make_changes { - if [ "$maker" != "make" ]; then - sed -e 's,MAKE = make,MAKE = '$maker',g' Makefile -i - fi - if [ "$status_mmx" = "Yes" ]; then - sed -e 's,# OPT += -mmmx,OPT += -mmmx,g' Makefile -i - fi - if [ "$status_sse" = "Yes" ]; then - sed -e 's,# OPT += -msse,OPT += -msse,g' Makefile -i - fi - if [ "$status_sse2" = "Yes" ]; then - sed -e 's,# OPT += -msse2,OPT += -msse2,g' Makefile -i - fi - if [ "$status_sse3" = "Yes" ]; then - sed -e 's,# OPT += -msse3,OPT += -msse3,g' Makefile -i - fi - if [ "$status_pcre" = "Yes" ]; then - sed -e 's,# OPT += -DPCRE_SUPPORT,OPT += -DPCRE_SUPPORT,g' Makefile -i - fi - if [ "$mysql_headers_path" != "/usr/local/lib/mysql" ] && [ "$mysql_headers_path" != "Not found." ]; then - sed -e 's,LIBS += -L/usr/local/lib/mysql -lmysqlclient,LIBS += -L'$mysql_headers_path' -lmysqlclient,g' Makefile -i - fi -} - -function opt_check_pcre { - echo -n "Checking for PCRE... " - if [ -f /usr/local/lib/pcre.h ]; then - echo "yes" - status_pcre="Yes" - else - echo "Error: PCRE not found." - status_pcre="No" - fi -} - -function make_report { - echo "Configuration report:" - echo eAthena - - echo - echo Enable PCRE support..... : $status_pcre - echo - echo Enable MMX optimization. : $status_mmx - echo Enable SSE optimization. : $status_sse - echo Enable SSE2 optimization : $status_sse2 - echo Enable SSE3 optimization : $status_sse3 - echo - echo MySQL headers path...... : $mysql_headers_path - echo - echo eAthena will be installed in $prefix - echo Please type \'make txt\' or \'make sql\' now to compile eAthena. -} - -function helptext { - echo "eAthena Configure Script version 0.1" - echo - echo "Options:" - echo - echo " -h Display this help message and exit." - echo " -d Enter debug mode." - echo " -o Turn on optimization flags." - echo " Supported:" - echo " mmx" - echo " sse" - echo " sse2" - echo " sse3" - echo " all" - echo " -e Enable PCRE support." - echo " -p Root directory where eA is going to be installed." - echo " DON'T FORGET THE LAST SLASH!" - echo " For example:" - echo " ./configure -p /usr/local/" - echo " This will create /usr/local/bin/login-server," - echo " /usr/local/etc/eathena/save/account.txt, etc" - echo " Default is /opt/eathena/" - echo - echo "Report bugs (about the configure script) to dontBR at the eAthena Support Board." -} - -function make_installable { - echo -e '' >> Makefile - echo -e 'install: conf/%.conf conf/%.txt' >> Makefile - echo -e ' $(shell mkdir -p '$prefix'bin/)' >> Makefile - echo -e ' $(shell mkdir -p '$prefix'etc/eathena/)' >> Makefile - echo -e ' $(shell mkdir -p '$prefix'var/log/eathena/)' >> Makefile - echo -e ' $(shell mv save '$prefix'etc/eathena/save)' >> Makefile - echo -e ' $(shell mv db '$prefix'etc/eathena/db)' >> Makefile - echo -e ' $(shell mv conf '$prefix'etc/eathena/conf)' >> Makefile - echo -e ' $(shell mv npc '$prefix'etc/eathena/npc)' >> Makefile - echo -e ' $(shell mv log/* '$prefix'var/log/eathena/)' >> Makefile - echo -e ' $(shell cp *-server* '$prefix'bin/)' >> Makefile - echo -e ' $(shell cp ladmin '$prefix'bin/)' >> Makefile - echo -e ' $(shell ln -s '$prefix'etc/eathena/save/ '$prefix'bin/)' >> Makefile - echo -e ' $(shell ln -s '$prefix'etc/eathena/db/ '$prefix'bin/)' >> Makefile - echo -e ' $(shell ln -s '$prefix'etc/eathena/conf/ '$prefix'bin/)' >> Makefile - echo -e ' $(shell ln -s '$prefix'etc/eathena/npc/ '$prefix'bin/)' >> Makefile - echo -e ' $(shell ln -s '$prefix'var/log/eathena/ '$prefix'bin/log)' >> Makefile - echo '' >> Makefile - echo -e 'bin-clean:' >> Makefile - echo -e ' $(shell rm '$prefix'bin/login-server*)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/char-server*)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/map-server*)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/ladmin)' >> Makefile - echo '' >> Makefile - echo -e 'uninstall:' >> Makefile - echo -e ' bin-clean' >> Makefile - echo -e ' $(shell rm '$prefix'bin/save)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/db)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/conf)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/npc)' >> Makefile - echo -e ' $(shell rm '$prefix'bin/log)' >> Makefile - echo -e ' $(shell rm -rf '$prefix'etc/eathena)' >> Makefile - echo -e ' $(shell rm -rf '$prefix'var/log/eathena)' >> Makefile -} - - -# Arguments -while getopts ":hdo:ep:" opt; do - case $opt in - h ) helptext ; exit ;; - d ) set -x ;; - o ) optimize ${OPTARG} ;; - e ) opt_check_pcre ;; - p ) prefix=${OPTARG} ; [ -d ${OPTARG} ] || echo "The directory $prefix does not exist. Creating...";; - esac -done - - -# Execution -echo "eAthena configure script" -echo "Note: This is ALPHA software! Do NOT use it on a production server!" -echo -echo "Checking for dependencies.." -check_sed -check_gcc -check_make -check_sockets -check_mysql_headers -make_changes -make_installable -echo -make_report -exit |