[Xorp-cvs] SF.net SVN: xorp:[11547] trunk/xorp/site_scons/config/allconfig.py

johntconklin at users.sourceforge.net johntconklin at users.sourceforge.net
Tue Sep 15 16:55:10 PDT 2009


Revision: 11547
          http://xorp.svn.sourceforge.net/xorp/?rev=11547&view=rev
Author:   johntconklin
Date:     2009-09-15 23:55:09 +0000 (Tue, 15 Sep 2009)

Log Message:
-----------
Change header file feature test for <linux/mroute.h> to use a dynamic list
of prerequisite header files, based on what is provided by the host.  This
doesn't completely test the header as it was performed using autoconf/make,
as that requires some changes in SCons itself. See the TODO for details.

Modified Paths:
--------------
    trunk/xorp/site_scons/config/allconfig.py

Modified: trunk/xorp/site_scons/config/allconfig.py
===================================================================
--- trunk/xorp/site_scons/config/allconfig.py	2009-09-15 21:26:52 UTC (rev 11546)
+++ trunk/xorp/site_scons/config/allconfig.py	2009-09-15 23:55:09 UTC (rev 11547)
@@ -507,8 +507,24 @@
     if has_net_ip_mroute_ip_mroute_h:
         prereq_mroute_h = prereq_net_ip_mroute_ip_mroute_h
         mroute_h = net_ip_mroute_ip_mroute_h
-    
-    prereq_linux_mroute_h = ['sys/types.h', 'sys/socket.h', 'netinet/in.h', 'linux/types.h']
+  
+    # Header file <linux/mroute.h> might need <sys/types>, <sys/socket.h>,
+    # <netinet/in.h>, and/or <linux/types.h>
+    #
+    # TODO: The autoconf feature test for this contained a hack to exclude 
+    # <linux/in.h> that might be included by <linux/mroute.h>, because
+    # <linux/in.h> might conflict with <netinet/in.h> that was included
+    # earlier.  This is currently difficult to replicate in SCons, as
+    # you can't pass arbitrary code that is prepended to the test.
+    prereq_linux_mroute_h = []
+    if has_sys_types_h:
+	prereq_linux_mroute_h.append('sys/types.h')
+    if has_sys_socket_h:
+	prereq_linux_mroute_h.append('sys/socket.h')
+    if has_netinet_in_h:
+	prereq_linux_mroute_h.append('netinet/in.h')
+    if has_linux_types_h:
+	prereq_linux_mroute_h.append('linux/types.h')
     linux_mroute_h = 'linux/mroute.h'
     has_linux_mroute_h = conf.CheckHeader(prereq_linux_mroute_h + [ linux_mroute_h ])
     if has_linux_mroute_h:


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Xorp-cvs mailing list