summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2013-11-02 20:44:46 +0100
committerHaru <haru@dotalux.com>2013-11-03 21:07:31 +0100
commit2ea51e2b2ac4e39d748e1ec24e34364746e43a8f (patch)
treeea5b74270dc9ac6329d7b795430d08785e7c1568 /configure.in
parent3b0cd11f980a48b903262c857fde1cd9c784c2e0 (diff)
downloadhercules-2ea51e2b2ac4e39d748e1ec24e34364746e43a8f.tar.gz
hercules-2ea51e2b2ac4e39d748e1ec24e34364746e43a8f.tar.bz2
hercules-2ea51e2b2ac4e39d748e1ec24e34364746e43a8f.tar.xz
hercules-2ea51e2b2ac4e39d748e1ec24e34364746e43a8f.zip
Added some packetver-related flags to the UNIX build script
- The --disable-packetver-re (or --enable-packetver-re=no) flag prevents the definition of PACKETVER_RE (without editing mmo.h) - The --with-key1=, --with-key2=, --with-key3= flags override the encryption key defined by the current packetver. All three flags are required if at least one is used, or they'll be ignored. - These options are mostly useful for buildbots, developers who often use git bisect, or users who want to minimize their diffs and still want to override those settings. - (unrelated minor tweak) Silenced an unnecessarily verbose STDERR message caused by the $CC shipped with clang-5 during the MinGW check.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in96
1 files changed, 94 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index b79e51f6d..98c493a03 100644
--- a/configure.in
+++ b/configure.in
@@ -46,7 +46,7 @@ AC_ARG_ENABLE(
[packetver],
AC_HELP_STRING(
[--enable-packetver=ARG],
- [Sets the PACKETVER define of the map-server. (see src/map/clif.h)]
+ [Sets the PACKETVER define. (see src/common/mmo.h)]
),
[enable_packetver="$enableval"],
[enable_packetver=""]
@@ -54,6 +54,80 @@ AC_ARG_ENABLE(
#
+# packetver-RE
+#
+AC_ARG_ENABLE(
+ [packetver-re],
+ AC_HELP_STRING(
+ [--disable-packetver-re],
+ [Sets or unsets the PACKETVER_RE define - see src/common/mmo.h (currently enabled by default)]
+ ),
+ [
+ enable_packetver_re="$enableval"
+ case $enableval in
+ "no");;
+ "yes");;
+ *) AC_MSG_ERROR([[invalid argument --enable-packetver-re=$enableval... stopping]]);;
+ esac
+ ],
+ [enable_packetver_re="yes"]
+)
+
+
+#
+# Obfuscation keys
+#
+AC_ARG_WITH(
+ [key1],
+ AC_HELP_STRING(
+ [--with-key1@<:@=ARG@:>@],
+ [Set the first obfuscation key (ignored unless the other two are also specified)]
+ ),
+ [
+ obfuscationkey1="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )"
+ if ! expr "x$obfuscationkey1" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then
+ obfuscationkey1=""
+ fi
+ ],
+ [
+ obfuscationkey1=""
+ ]
+)
+AC_ARG_WITH(
+ [key2],
+ AC_HELP_STRING(
+ [--with-key2@<:@=ARG@:>@],
+ [Set the second obfuscation key (ignored unless the other two are also specified)]
+ ),
+ [
+ obfuscationkey2="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )"
+ if ! expr "x$obfuscationkey2" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then
+ obfuscationkey2=""
+ fi
+ ],
+ [
+ obfuscationkey2=""
+ ]
+)
+AC_ARG_WITH(
+ [key3],
+ AC_HELP_STRING(
+ [--with-key3@<:@=ARG@:>@],
+ [Set the third obfuscation key (ignored unless the other two are also specified)]
+ ),
+ [
+ obfuscationkey3="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )"
+ if ! expr "x$obfuscationkey3" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then
+ obfuscationkey3=""
+ fi
+ ],
+ [
+ obfuscationkey3=""
+ ]
+)
+
+
+#
# debug
#
AC_ARG_ENABLE(
@@ -771,6 +845,24 @@ if test -n "$enable_packetver" ; then
CFLAGS="$CFLAGS -DPACKETVER=$enable_packetver"
fi
+#
+# Packetver-RE
+#
+case $enable_packetver_re in
+ "yes")
+ # default value
+ CFLAGS="$CFLAGS -DDISABLE_PACKETVER_RE"
+ ;;
+ "no")
+ ;;
+esac
+
+#
+# Obfuscation keys
+#
+if test -n "$obfuscationkey1" -a -n "$obfuscationkey2" -a -n "$obfuscationkey3"; then
+ CFLAGS="$CFLAGS -DOBFUSCATIONKEY1=$obfuscationkey1 -DOBFUSCATIONKEY2=$obfuscationkey2 -DOBFUSCATIONKEY3=$obfuscationkey3"
+fi
#
# Debug
@@ -1035,7 +1127,7 @@ esac
AC_SUBST([DLLEXT])
AC_MSG_CHECKING([for MinGW])
-if test -n "`$CC --version | grep -i mingw`" ; then
+if test -n "`$CC --version 2>/dev/null | grep -i mingw`" ; then
AC_MSG_RESULT([yes])
CPPFLAGS="$CPPFLAGS -DMINGW"
if test -z "$fd_setsize" ; then