summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rw-r--r--configure512
1 files changed, 256 insertions, 256 deletions
diff --git a/configure b/configure
index ef4f2a9a9..b50031368 100644
--- a/configure
+++ b/configure
@@ -1,256 +1,256 @@
-#!/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
+#!/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