summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/LibMiniUPnPc/SConscript')
-rw-r--r--3rdParty/LibMiniUPnPc/SConscript117
1 files changed, 70 insertions, 47 deletions
diff --git a/3rdParty/LibMiniUPnPc/SConscript b/3rdParty/LibMiniUPnPc/SConscript
index 505060f..a995941 100644
--- a/3rdParty/LibMiniUPnPc/SConscript
+++ b/3rdParty/LibMiniUPnPc/SConscript
@@ -1,67 +1,90 @@
Import(["env", "conf_env"])
+import os
+
if env.get("LIBMINIUPNPC_BUNDLED", False) :
################################################################################
# Module flags
################################################################################
- if env["SCONS_STAGE"] == "flags" :
- env["HAVE_LIBMINIUPNPC"] = True
- env["LIBMINIUPNPC_FLAGS"] = {
- "CPPPATH": [Dir("src/miniupnpc")],
- "LIBPATH": [Dir(".")],
- "INTERNAL_CPPDEFINES": ["STATICLIB"],
- }
- #if env["PLATFORM"] == "win32" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
- # if env["MSVC_VERSION"][:3] == "9.0" :
- # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
+ if env["SCONS_STAGE"] == "flags" :
+ env["HAVE_LIBMINIUPNPC"] = True
+ env["LIBMINIUPNPC_FLAGS"] = {
+ "LIBPATH": [Dir(".")],
+ "INTERNAL_CPPDEFINES": ["MINIUPNP_STATICLIB"],
+ }
+ if os.path.basename(env["CC"]) in ("clang", "gcc") :
+ env["LIBMINIUPNPC_FLAGS"].update({"CPPFLAGS": ["-isystem" "3rdParty/LibMiniUPnPc/src/miniupnpc"]})
+ else :
+ env["LIBMINIUPNPC_FLAGS"].update({"CPPPATH": [Dir("src/miniupnpc")]})
+
+ #if env["PLATFORM"] == "win32" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32")]
+ # if env["MSVC_VERSION"][:3] == "9.0" :
+ # env["LIBIDN_FLAGS"]["CPPPATH"] += [Dir("stubs/win32/VC2008")]
################################################################################
# Build
################################################################################
- if env["SCONS_STAGE"] == "build" :
- myenv = env.Clone()
- myenv.Append(CPPPATH = ["src"])
- # Remove warn flags
- myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
-
- myenv.Append(CCFLAGS = ["-DNDEBUG", "-DSTATICLIB"])
-
- if myenv["PLATFORM"] != "win32":
- myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
-
- if myenv["PLATFORM"] == "darwin":
- myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
-
- if myenv["PLATFORM"] == "win32":
- myenv.Append(CCFLAGS = ["-DWIN32", "-D_WIN32_WINNT=0x0501"])
-
- myenv.WriteVal("src/miniupnpc/miniupnpcstrings.h", myenv.Value(
+ if env["SCONS_STAGE"] == "build" :
+ myenv = env.Clone()
+ myenv.Append(CPPPATH = ["src"])
+ # Remove warn flags
+ myenv.Replace(CCFLAGS = [flag for flag in env["CCFLAGS"] if flag not in ["-W", "-Wall"]])
+
+ myenv.Append(CCFLAGS = ["-DNDEBUG", "-DMINIUPNP_STATICLIB"])
+
+ if myenv["PLATFORM"] != "win32":
+ myenv.Append(CCFLAGS = ["-DMINIUPNPC_SET_SOCKET_TIMEOUT"])
+ myenv.Append(CCFLAGS = ["-D_BSD_SOURCE"])
+
+ if myenv["PLATFORM"] == "darwin":
+ myenv.Append(CCFLAGS = ["-DMACOSX", "-D_DARWIN_C_SOURCE"])
+
+ if myenv["PLATFORM"] == "win32":
+ myenv.Append(CCFLAGS = ["-DWIN32", "-D_WIN32_WINNT=0x0501"])
+
+ if myenv["PLATFORM"] != "win32" and myenv["PLATFORM"] != "darwin":
+ conf = Configure(conf_env)
+ if conf.CheckTypeSize("struct ip_mreqn", includes="#include <netinet/in.h>") == 0:
+ myenv.Append(CCFLAGS = ["-DNEED_STRUCT_IP_MREQN"])
+ conf.Finish()
+
+ myenv.WriteVal("src/miniupnpc/miniupnpcstrings.h", myenv.Value(
"""
-#ifndef __MINIUPNPCSTRINGS_H__
-#define __MINIUPNPCSTRINGS_H__
+#ifndef MINIUPNPCSTRINGS_H_INCLUDED
+#define MINIUPNPCSTRINGS_H_INCLUDED
#define OS_STRING "$OS_STRING"
-#define MINIUPNPC_VERSION_STRING "1.5"
+#define MINIUPNPC_VERSION_STRING "1.9"
+
+#if 0
+/* according to "UPnP Device Architecture 1.0" */
+#define UPNP_VERSION_STRING "UPnP/1.0"
+#else
+/* according to "UPnP Device Architecture 1.1" */
+#define UPNP_VERSION_STRING "UPnP/1.1"
+#endif
#endif
""".replace("$OS_STRING", myenv["PLATFORM"])))
- env["LIBMINIUPNPC_OBJECTS"] = myenv.SwiftenObject([
- "src/miniupnpc/igd_desc_parse.c",
- "src/miniupnpc/miniupnpc.c",
- "src/miniupnpc/minixml.c",
- "src/miniupnpc/minisoap.c",
- "src/miniupnpc/minissdpc.c",
- "src/miniupnpc/miniwget.c",
- #"src/miniupnpc/upnpc.c",
- "src/miniupnpc/upnpcommands.c",
- "src/miniupnpc/upnpreplyparse.c",
- "src/miniupnpc/upnperrors.c",
- "src/miniupnpc/connecthostport.c",
- "src/miniupnpc/portlistingparse.c",
- "src/miniupnpc/receivedata.c"
- ])
+ miniupnpc_objects = [
+ "src/miniupnpc/connecthostport.c",
+ "src/miniupnpc/igd_desc_parse.c",
+ "src/miniupnpc/minisoap.c",
+ "src/miniupnpc/minissdpc.c",
+ "src/miniupnpc/miniupnpc.c",
+ "src/miniupnpc/miniwget.c",
+ "src/miniupnpc/minixml.c",
+ "src/miniupnpc/portlistingparse.c",
+ "src/miniupnpc/receivedata.c",
+ "src/miniupnpc/upnpcommands.c",
+ "src/miniupnpc/upnpdev.c",
+ "src/miniupnpc/upnperrors.c",
+ "src/miniupnpc/upnpreplyparse.c",
+ ]
+
+ env["LIBMINIUPNPC_OBJECTS"] = myenv.SwiftenObject(miniupnpc_objects)