Update configure.in

Add some requested option :
 --enable-prere, --with-outputchar --with-outputlogin --with-outputmap
This allow to try in prere/re mode and to chose binary name for output
file easily.
This commit is contained in:
lighta 2013-08-25 14:05:04 -04:00
parent fc48f925bc
commit ef4fd59996
7 changed files with 213 additions and 40 deletions

View File

@ -1,9 +1,10 @@
@SET_MAKE@
HAVE_MYSQL=@HAVE_MYSQL@
OMAP=@OMAP@
ifeq ($(HAVE_MYSQL),yes)
ALL_DEPENDS=sql tools
SQL_DEPENDS=common_sql login_sql char_sql map_sql import
SQL_DEPENDS=common_sql login char map import
COMMON_SQL_DEPENDS=mt19937ar libconfig
LOGIN_SQL_DEPENDS=mt19937ar libconfig common_sql
CHAR_SQL_DEPENDS=mt19937ar libconfig common_sql
@ -22,9 +23,9 @@ endif
.PHONY: all sql \
common_sql \
mt19937ar \
login_sql \
char_sql \
map_sql \
login \
char \
map \
tools \
import \
test \
@ -38,13 +39,13 @@ sql: $(SQL_DEPENDS)
common_sql: $(COMMON_SQL_DEPENDS)
@$(MAKE) -C src/common sql
login_sql: $(LOGIN_SQL_DEPENDS)
login: $(LOGIN_SQL_DEPENDS)
@$(MAKE) -C src/login sql
char_sql: $(CHAR_SQL_DEPENDS)
char: $(CHAR_SQL_DEPENDS)
@$(MAKE) -C src/char
map_sql: $(MAP_SQL_DEPENDS)
map: $(MAP_SQL_DEPENDS)
@$(MAKE) -C src/map sql
mt19937ar:
@ -87,14 +88,13 @@ help:
@echo "'common_sql' - builds object files used in SQL servers"
@echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
@echo "'libconfig' - builds object files of libconfig"
@echo "'login_sql' - builds login server (SQL version)"
@echo "'char_sql' - builds char server (SQL version)"
@echo "'map_sql' - builds map server (SQL version)"
@echo "'login' - builds login server"
@echo "'char' - builds char server"
@echo "'map' - builds map server"
@echo "'tools' - builds all the tools in src/tools"
@echo "'import' - builds conf/import folder from the template conf/import-tmpl"
@echo "'all' - builds all the above targets"
@echo "'sql' - builds sql servers (targets 'common_sql' 'login_sql' 'char_sql'"
@echo " 'map_sql' and 'import')"
@echo "'sql' - builds servers (targets 'common_sql' 'login' 'char' 'map' and 'import')"
@echo "'test' - builds tests"
@echo "'clean' - cleans builds and objects"
@echo "'install' - run installer wich setup rathena in /opt/"

92
configure vendored
View File

@ -635,6 +635,9 @@ HAVE_MYSQL
MYSQL_CONFIG_HOME
AR
SET_MAKE
OMAP
OCHR
OLOG
EGREP
GREP
CPP
@ -689,6 +692,7 @@ enable_option_checking
enable_manager
enable_packetver
enable_debug
enable_prere
enable_warn
enable_buildbot
enable_rdtsc
@ -696,6 +700,9 @@ enable_profiler
enable_64bit
enable_lto
with_maxconn
with_outputlogin
with_outputchar
with_outputmap
with_mysql
with_MYSQL_CFLAGS
with_MYSQL_LIBS
@ -1324,6 +1331,8 @@ Optional Features:
src/map/clif.h)
--enable-debug[=ARG] Compiles extra debug code. (disabled by default)
(available options: yes, no, gdb)
--enable-prere[=ARG] Compiles serv in prere mode. (disabled by default)
(available options: yes, no)
--enable-warn[=ARG] Compiles with warnings. (disabled by default)
(available options: yes, no, extra)
--enable-buildbot[=ARG] (available options: yes, no)
@ -1345,6 +1354,13 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-maxconn[=ARG] optionally set the maximum connections the core can
handle (default: 16384) NOT USED YET - EXPERIMENTAL
--with-outputlogin[=ARG]
Specify the login-serv output name (defaults to
login-server)
--with-outputchar[=ARG] Specify the char-serv output name (defaults to
char-server)
--with-outputmap[=ARG] Specify the map-serv output name (defaults to
map-server)
--with-mysql[=ARG] optionally specify the path to the mysql_config
executable
--with-MYSQL_CFLAGS=ARG specify MYSQL_CFLAGS manually (instead of using
@ -3469,6 +3485,27 @@ else
fi
#
# renewal
#
# Check whether --enable-prere was given.
if test "${enable_prere+set}" = set; then :
enableval=$enable_prere;
enable_prere="$enableval"
case $enableval in
"no");;
"yes");;
*) as_fn_error $? "invalid argument --enable-prere=$enableval... stopping" "$LINENO" 5;;
esac
else
enable_prere="no"
fi
#
# warn
#
@ -3610,6 +3647,46 @@ fi
#
# output bin name
#
# Check whether --with-outputlogin was given.
if test "${with_outputlogin+set}" = set; then :
withval=$with_outputlogin; output_login="$withval"
else
output_login="login-server"
fi
OLOG=$output_login
# Check whether --with-outputchar was given.
if test "${with_outputchar+set}" = set; then :
withval=$with_outputchar; output_char="$withval"
else
output_char="char-server"
fi
OCHR=$output_char
# Check whether --with-outputmap was given.
if test "${with_outputmap+set}" = set; then :
withval=$with_outputmap; output_map="$withval"
else
output_map="map-server"
fi
OMAP=$output_map
#
# Optionally specify the path to mysql_config
#
@ -5195,6 +5272,19 @@ case $enable_debug in
;;
esac
#
# Renewal
#
case $enable_prere in
"no")
# default value
CFLAGS="$CFLAGS"
;;
"yes")
CFLAGS="$CFLAGS -DPRERE"
;;
esac
#
# Warnings
#
@ -6156,6 +6246,8 @@ $as_echo "$as_me: Configure finish, CFLAGS= $CFLAGS" >&6;}
$as_echo "$as_me: LDFLAGS=$LDFLAGS" >&6;}
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
{ $as_echo "$as_me:${as_lineno-$LINENO}: output name = $output_login, $output_char, $output_map" >&5
$as_echo "$as_me: output name = $output_login, $output_char, $output_map" >&6;}
###############################################################################
cat >confcache <<\_ACEOF

View File

@ -76,6 +76,31 @@ AC_ARG_ENABLE(
[enable_debug="no"]
)
#
# renewal
#
AC_ARG_ENABLE(
[prere],
AC_HELP_STRING(
[--enable-prere@<:@=ARG@:>@],
[
Compiles serv in prere mode. (disabled by default)
(available options: yes, no)
]
),
[
enable_prere="$enableval"
case $enableval in
"no");;
"yes");;
*) AC_MSG_ERROR([[invalid argument --enable-prere=$enableval... stopping]]);;
esac
],
[enable_prere="no"]
)
#
# warn
#
@ -130,9 +155,7 @@ AC_ARG_ENABLE(
[
Uses rdtsc as timing source (disabled by default)
Enable it when you've timing issues.
(For example: in conjunction with XEN or Other Virtualization mechanisms)
Note:
Please ensure that you've disabled dynamic CPU-Frequencys, such as power saving options.
(On the most modern Dedicated Servers cpufreq is preconfigured, see your distribution's manual
@ -240,6 +263,43 @@ AC_ARG_WITH(
)
#
# output bin name
#
AC_ARG_WITH(
[outputlogin],
AC_HELP_STRING(
[--with-outputlogin@<:@=ARG@:>@],
[Specify the login-serv output name (defaults to login-server)]
),
[output_login="$withval"],
[output_login="login-server"]
)
AC_SUBST([OLOG],$output_login)
AC_ARG_WITH(
[outputchar],
AC_HELP_STRING(
[--with-outputchar@<:@=ARG@:>@],
[Specify the char-serv output name (defaults to char-server)]
),
[output_char="$withval"],
[output_char="char-server"]
)
AC_SUBST([OCHR],$output_char)
AC_ARG_WITH(
[outputmap],
AC_HELP_STRING(
[--with-outputmap@<:@=ARG@:>@],
[Specify the map-serv output name (defaults to map-server)]
),
[output_map="$withval"],
[output_map="map-server"]
)
AC_SUBST([OMAP],$output_map)
#
# Optionally specify the path to mysql_config
#
@ -657,6 +717,19 @@ case $enable_debug in
;;
esac
#
# Renewal
#
case $enable_prere in
"no")
# default value
CFLAGS="$CFLAGS"
;;
"yes")
CFLAGS="$CFLAGS -DPRERE"
;;
esac
#
# Warnings
#
@ -921,6 +994,7 @@ AC_MSG_NOTICE([Configure finish, CFLAGS= $CFLAGS])
AC_MSG_NOTICE([LDFLAGS=$LDFLAGS])
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map])
###############################################################################
AC_OUTPUT

View File

@ -15,13 +15,14 @@ LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
COMMON_SQL_OBJ = ../common/obj_sql/sql.o
COMMON_H = ../common/sql.h
CHAR_OBJ = obj_sql/char.o obj_sql/inter.o obj_sql/int_party.o obj_sql/int_guild.o \
obj_sql/int_storage.o obj_sql/int_pet.o obj_sql/int_homun.o obj_sql/int_mail.o obj_sql/int_auction.o obj_sql/int_quest.o obj_sql/int_mercenary.o obj_sql/int_elemental.o
CHAR_H = char.h inter.h int_party.h int_guild.h int_storage.h int_pet.h int_homun.h int_mail.h int_auction.h int_quest.h int_mercenary.h int_elemental.h
CHAR_OBJ = char.o inter.o int_party.o int_guild.o \
int_storage.o int_pet.o int_homun.o int_mail.o int_auction.o int_quest.o int_mercenary.o int_elemental.o
CHAR_SQL_OBJ = $(CHAR_OBJ:%=obj_sql/%)
CHAR_H = $(shell ls ../char/*.h)
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=char-server_sql
SQL_DEPENDS=char-server
else
SQL_DEPENDS=needs_mysql
endif
@ -38,20 +39,20 @@ sql: $(SQL_DEPENDS)
clean:
@echo " CLEAN char"
@rm -rf *.o obj_sql ../../char-server_sql@EXEEXT@
@rm -rf *.o obj_sql ../../@OCHR@@EXEEXT@
help:
@echo "possible targets are 'sql' 'all' 'clean' 'help'"
@echo "'sql' - char server (SQL version)"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
@echo "'help' - outputs this message"
@echo "'sql' - char server"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
@echo "'help' - outputs this message"
#####################################################################
char-server_sql: obj_sql $(CHAR_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ)
@echo " LD $@"
@@CC@ @LDFLAGS@ -o ../../char-server_sql@EXEEXT@ $(CHAR_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
char-server: obj_sql $(CHAR_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a
@echo " LD @OCHR@@EXEEXT@"
@@CC@ @LDFLAGS@ -o ../../@OCHR@@EXEEXT@ $(CHAR_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
needs_mysql:
@echo "MySQL not found or disabled by the configure script"

View File

@ -3,11 +3,15 @@
#ifndef _CONFIG_RENEWAL_H_
#define _CONFIG_RENEWAL_H_
//quick option to disable all renewal option, used by ./configure
//#define PRERE
#ifndef PRERE
/**
* rAthena configuration file (http://rathena.org)
* For detailed guidance on these check http://rathena.org/wiki/SRC/config/
**/
/**
* @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/config/classes folder
**/
@ -59,4 +63,6 @@
/// - some skill/item ASPD bonuses won't stack
#define RENEWAL_ASPD
#endif
#endif // _CONFIG_RENEWAL_H_

View File

@ -12,14 +12,13 @@ LIBCONFIG_H = ../../3rdparty/libconfig/libconfig.h ../../3rdparty/libconfig/gram
../../3rdparty/libconfig/strbuf.h ../../3rdparty/libconfig/wincompat.h
LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
LOGIN_OBJ = login.o
LOGIN_SQL_OBJ = $(LOGIN_OBJ:%=obj_sql/%) \
obj_sql/account_sql.o obj_sql/ipban_sql.o obj_sql/loginlog_sql.o
LOGIN_OBJ = login.o account_sql.o ipban_sql.o loginlog_sql.o
LOGIN_SQL_OBJ = $(LOGIN_OBJ:%=obj_sql/%)
LOGIN_H = login.h account.h ipban.h loginlog.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=login-server_sql
SQL_DEPENDS=login-server
else
SQL_DEPENDS=needs_mysql
endif
@ -36,7 +35,7 @@ sql: $(SQL_DEPENDS)
clean:
@echo " CLEAN login"
@rm -rf *.o obj_sql ../../login-server_sql@EXEEXT@
@rm -rf *.o obj_sql ../../@OLOG@@EXEEXT@
help:
@echo "possible targets are 'sql' 'all' 'clean' 'help'"
@ -59,9 +58,9 @@ obj_sql:
#executables
login-server_sql: obj_sql $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ)
@echo " LD $@"
@@CC@ @LDFLAGS@ -o ../../login-server_sql@EXEEXT@ $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
login-server: obj_sql $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ)
@echo " LD @OLOG@@EXEEXT@"
@@CC@ @LDFLAGS@ -o ../../@OLOG@@EXEEXT@ $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
# login object files

View File

@ -24,7 +24,7 @@ MAP_H = $(shell ls ../map/*.h) \
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=map-server_sql
SQL_DEPENDS=map-server
else
SQL_DEPENDS=needs_mysql
endif
@ -48,10 +48,10 @@ sql: $(SQL_DEPENDS)
clean:
@echo " CLEAN map"
@rm -rf *.o obj_txt obj_sql ../../map-server@EXEEXT@ ../../map-server_sql@EXEEXT@
@rm -rf *.o obj_sql ../../@OMAP@@EXEEXT@
help:
@echo "possible targets are 'sql' 'txt' 'all' 'clean' 'help'"
@echo "possible targets are 'sql' 'all' 'clean' 'help'"
@echo "'sql' - map server (SQL version)"
@echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects"
@ -71,9 +71,10 @@ obj_sql:
# executables
map-server_sql: obj_sql $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a
@echo " LD $@"
@@CC@ @LDFLAGS@ -o ../../map-server_sql@EXEEXT@ $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@
map-server: obj_sql $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a
@echo " LD @OMAP@@EXEEXT@"
@@CC@ @LDFLAGS@ -o ../../@OMAP@@EXEEXT@ $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @PCRE_LIBS@ @MYSQL_LIBS@
# map object files