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

92
configure vendored
View File

@ -635,6 +635,9 @@ HAVE_MYSQL
MYSQL_CONFIG_HOME MYSQL_CONFIG_HOME
AR AR
SET_MAKE SET_MAKE
OMAP
OCHR
OLOG
EGREP EGREP
GREP GREP
CPP CPP
@ -689,6 +692,7 @@ enable_option_checking
enable_manager enable_manager
enable_packetver enable_packetver
enable_debug enable_debug
enable_prere
enable_warn enable_warn
enable_buildbot enable_buildbot
enable_rdtsc enable_rdtsc
@ -696,6 +700,9 @@ enable_profiler
enable_64bit enable_64bit
enable_lto enable_lto
with_maxconn with_maxconn
with_outputlogin
with_outputchar
with_outputmap
with_mysql with_mysql
with_MYSQL_CFLAGS with_MYSQL_CFLAGS
with_MYSQL_LIBS with_MYSQL_LIBS
@ -1324,6 +1331,8 @@ Optional Features:
src/map/clif.h) src/map/clif.h)
--enable-debug[=ARG] Compiles extra debug code. (disabled by default) --enable-debug[=ARG] Compiles extra debug code. (disabled by default)
(available options: yes, no, gdb) (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) --enable-warn[=ARG] Compiles with warnings. (disabled by default)
(available options: yes, no, extra) (available options: yes, no, extra)
--enable-buildbot[=ARG] (available options: yes, no) --enable-buildbot[=ARG] (available options: yes, no)
@ -1345,6 +1354,13 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-maxconn[=ARG] optionally set the maximum connections the core can --with-maxconn[=ARG] optionally set the maximum connections the core can
handle (default: 16384) NOT USED YET - EXPERIMENTAL 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 --with-mysql[=ARG] optionally specify the path to the mysql_config
executable executable
--with-MYSQL_CFLAGS=ARG specify MYSQL_CFLAGS manually (instead of using --with-MYSQL_CFLAGS=ARG specify MYSQL_CFLAGS manually (instead of using
@ -3469,6 +3485,27 @@ else
fi 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 # 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 # Optionally specify the path to mysql_config
# #
@ -5195,6 +5272,19 @@ case $enable_debug in
;; ;;
esac esac
#
# Renewal
#
case $enable_prere in
"no")
# default value
CFLAGS="$CFLAGS"
;;
"yes")
CFLAGS="$CFLAGS -DPRERE"
;;
esac
# #
# Warnings # Warnings
# #
@ -6156,6 +6246,8 @@ $as_echo "$as_me: Configure finish, CFLAGS= $CFLAGS" >&6;}
$as_echo "$as_me: LDFLAGS=$LDFLAGS" >&6;} $as_echo "$as_me: LDFLAGS=$LDFLAGS" >&6;}
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN]) #AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_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 cat >confcache <<\_ACEOF

View File

@ -76,6 +76,31 @@ AC_ARG_ENABLE(
[enable_debug="no"] [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 # warn
# #
@ -130,9 +155,7 @@ AC_ARG_ENABLE(
[ [
Uses rdtsc as timing source (disabled by default) Uses rdtsc as timing source (disabled by default)
Enable it when you've timing issues. Enable it when you've timing issues.
(For example: in conjunction with XEN or Other Virtualization mechanisms) (For example: in conjunction with XEN or Other Virtualization mechanisms)
Note: Note:
Please ensure that you've disabled dynamic CPU-Frequencys, such as power saving options. 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 (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 # Optionally specify the path to mysql_config
# #
@ -657,6 +717,19 @@ case $enable_debug in
;; ;;
esac esac
#
# Renewal
#
case $enable_prere in
"no")
# default value
CFLAGS="$CFLAGS"
;;
"yes")
CFLAGS="$CFLAGS -DPRERE"
;;
esac
# #
# Warnings # Warnings
# #
@ -921,6 +994,7 @@ AC_MSG_NOTICE([Configure finish, CFLAGS= $CFLAGS])
AC_MSG_NOTICE([LDFLAGS=$LDFLAGS]) AC_MSG_NOTICE([LDFLAGS=$LDFLAGS])
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN]) #AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN]) #AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map])
############################################################################### ###############################################################################
AC_OUTPUT AC_OUTPUT

View File

@ -15,13 +15,14 @@ LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
COMMON_SQL_OBJ = ../common/obj_sql/sql.o COMMON_SQL_OBJ = ../common/obj_sql/sql.o
COMMON_H = ../common/sql.h 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 \ CHAR_OBJ = char.o inter.o int_party.o 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 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_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_SQL_OBJ = $(CHAR_OBJ:%=obj_sql/%)
CHAR_H = $(shell ls ../char/*.h)
HAVE_MYSQL=@HAVE_MYSQL@ HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes) ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=char-server_sql SQL_DEPENDS=char-server
else else
SQL_DEPENDS=needs_mysql SQL_DEPENDS=needs_mysql
endif endif
@ -38,20 +39,20 @@ sql: $(SQL_DEPENDS)
clean: clean:
@echo " CLEAN char" @echo " CLEAN char"
@rm -rf *.o obj_sql ../../char-server_sql@EXEEXT@ @rm -rf *.o obj_sql ../../@OCHR@@EXEEXT@
help: help:
@echo "possible targets are 'sql' 'all' 'clean' 'help'" @echo "possible targets are 'sql' 'all' 'clean' 'help'"
@echo "'sql' - char server (SQL version)" @echo "'sql' - char server"
@echo "'all' - builds all above targets" @echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects" @echo "'clean' - cleans builds and objects"
@echo "'help' - outputs this message" @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) char-server: obj_sql $(CHAR_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a
@echo " LD $@" @echo " LD @OCHR@@EXEEXT@"
@@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@ @@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: needs_mysql:
@echo "MySQL not found or disabled by the configure script" @echo "MySQL not found or disabled by the configure script"

View File

@ -3,11 +3,15 @@
#ifndef _CONFIG_RENEWAL_H_ #ifndef _CONFIG_RENEWAL_H_
#define _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) * rAthena configuration file (http://rathena.org)
* For detailed guidance on these check http://rathena.org/wiki/SRC/config/ * 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 * @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 /// - some skill/item ASPD bonuses won't stack
#define RENEWAL_ASPD #define RENEWAL_ASPD
#endif
#endif // _CONFIG_RENEWAL_H_ #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 ../../3rdparty/libconfig/strbuf.h ../../3rdparty/libconfig/wincompat.h
LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig LIBCONFIG_INCLUDE = -I../../3rdparty/libconfig
LOGIN_OBJ = login.o LOGIN_OBJ = login.o account_sql.o ipban_sql.o loginlog_sql.o
LOGIN_SQL_OBJ = $(LOGIN_OBJ:%=obj_sql/%) \ LOGIN_SQL_OBJ = $(LOGIN_OBJ:%=obj_sql/%)
obj_sql/account_sql.o obj_sql/ipban_sql.o obj_sql/loginlog_sql.o
LOGIN_H = login.h account.h ipban.h loginlog.h LOGIN_H = login.h account.h ipban.h loginlog.h
HAVE_MYSQL=@HAVE_MYSQL@ HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes) ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=login-server_sql SQL_DEPENDS=login-server
else else
SQL_DEPENDS=needs_mysql SQL_DEPENDS=needs_mysql
endif endif
@ -36,7 +35,7 @@ sql: $(SQL_DEPENDS)
clean: clean:
@echo " CLEAN login" @echo " CLEAN login"
@rm -rf *.o obj_sql ../../login-server_sql@EXEEXT@ @rm -rf *.o obj_sql ../../@OLOG@@EXEEXT@
help: help:
@echo "possible targets are 'sql' 'all' 'clean' 'help'" @echo "possible targets are 'sql' 'all' 'clean' 'help'"
@ -59,9 +58,9 @@ obj_sql:
#executables #executables
login-server_sql: obj_sql $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ) login-server: obj_sql $(LOGIN_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a $(MT19937AR_OBJ)
@echo " LD $@" @echo " LD @OLOG@@EXEEXT@"
@@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@ @@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 # login object files

View File

@ -24,7 +24,7 @@ MAP_H = $(shell ls ../map/*.h) \
HAVE_MYSQL=@HAVE_MYSQL@ HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes) ifeq ($(HAVE_MYSQL),yes)
SQL_DEPENDS=map-server_sql SQL_DEPENDS=map-server
else else
SQL_DEPENDS=needs_mysql SQL_DEPENDS=needs_mysql
endif endif
@ -48,10 +48,10 @@ sql: $(SQL_DEPENDS)
clean: clean:
@echo " CLEAN map" @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: 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 "'sql' - map server (SQL version)"
@echo "'all' - builds all above targets" @echo "'all' - builds all above targets"
@echo "'clean' - cleans builds and objects" @echo "'clean' - cleans builds and objects"
@ -71,9 +71,10 @@ obj_sql:
# executables # executables
map-server_sql: obj_sql $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a map-server: obj_sql $(MAP_SQL_OBJ) ../common/obj_sql/common_sql.a ../common/obj_all/common.a
@echo " LD $@" @echo " LD @OMAP@@EXEEXT@"
@@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@ @@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 # map object files