diff --git a/Makefile.in b/Makefile.in index 35331d7ceb..57918824ce 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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/" diff --git a/configure b/configure index e1451e7ce4..071b5abca6 100755 --- a/configure +++ b/configure @@ -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 diff --git a/configure.in b/configure.in index 5b658cf4aa..a8fad86237 100644 --- a/configure.in +++ b/configure.in @@ -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 diff --git a/src/char/Makefile.in b/src/char/Makefile.in index 5ec0a458e8..5d8feed1f4 100644 --- a/src/char/Makefile.in +++ b/src/char/Makefile.in @@ -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" diff --git a/src/config/renewal.h b/src/config/renewal.h index bcabad92b6..659170b24a 100644 --- a/src/config/renewal.h +++ b/src/config/renewal.h @@ -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_ diff --git a/src/login/Makefile.in b/src/login/Makefile.in index 7c122e8248..d6110ae53b 100644 --- a/src/login/Makefile.in +++ b/src/login/Makefile.in @@ -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 diff --git a/src/map/Makefile.in b/src/map/Makefile.in index 3b102ee69e..bd2db827ba 100644 --- a/src/map/Makefile.in +++ b/src/map/Makefile.in @@ -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