瀏覽代碼

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.
lighta 11 年之前
父節點
當前提交
ef4fd59996
共有 7 個文件被更改,包括 213 次插入40 次删除
  1. 12 12
      Makefile.in
  2. 92 0
      configure
  3. 76 2
      configure.in
  4. 13 12
      src/char/Makefile.in
  5. 6 0
      src/config/renewal.h
  6. 7 8
      src/login/Makefile.in
  7. 7 6
      src/map/Makefile.in

+ 12 - 12
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/"

+ 92 - 0
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

+ 76 - 2
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

+ 13 - 12
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"

+ 6 - 0
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_

+ 7 - 8
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

+ 7 - 6
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