[rtems-libbsd commit] freebsd-to-rtems.py: Multiple fixes and supporting modifications

Joel Sherrill joel at rtems.org
Wed Sep 5 17:56:49 UTC 2012


Module:    rtems-libbsd
Branch:    master
Commit:    b7923cd15b5ce145491752e9823f1b9b34b9f346
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=b7923cd15b5ce145491752e9823f1b9b34b9f346

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Wed Sep  5 12:58:09 2012 -0500

freebsd-to-rtems.py: Multiple fixes and supporting modifications

+ SED_PATTERN was broken when IPV6 enabled. The sed produced a
  zero length rtems-bsd-config.h.
+ "make install" without all did not produce GENERATED_FILES
+ Install .h files in contrib/altq. Needed by new libc commands
  being added shortly.
+ Do not copy <sys/uio.h> and <sys/_iovec.h> from FreeBSD. They
  are provided by RTEMS now.
+ net/if_stf.c appears to be strictly IPV6 functionality. Make building
  it conditional on IPV6.

---

 Makefile            |   10 +++++++---
 freebsd-to-rtems.py |   16 +++++++++++-----
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index bbd51ac..3d0cef8 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,8 @@ CFLAGS += -std=gnu99
 CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d
 NEED_DUMMY_PIC_IRQ=yes
 
+# do nothing default so sed on rtems-bsd-config.h always works.
+SED_PATTERN += -e 's/^//'
 GENERATED_FILES = rtemsbsd/freebsd/machine/rtems-bsd-config.h
 
 C_FILES =
@@ -92,7 +94,6 @@ C_FILES += freebsd/net/if_media.c
 C_FILES += freebsd/net/if_mib.c
 C_FILES += freebsd/net/if_spppfr.c
 C_FILES += freebsd/net/if_spppsubr.c
-C_FILES += freebsd/net/if_stf.c
 C_FILES += freebsd/net/if_tap.c
 C_FILES += freebsd/net/if_tun.c
 C_FILES += freebsd/net/if_vlan.c
@@ -196,6 +197,7 @@ C_FILES += freebsd/netinet/libalias/alias.c
 C_FILES += freebsd/netinet/libalias/alias_skinny.c
 C_FILES += freebsd/netinet/libalias/alias_sctp.c
 ifneq ($(DISABLE_IPV6),yes)
+C_FILES += freebsd/net/if_stf.c
 C_FILES += freebsd/netinet6/dest6.c
 C_FILES += freebsd/netinet6/frag6.c
 C_FILES += freebsd/netinet6/icmp6.c
@@ -646,9 +648,9 @@ C_D_FILES = $(C_FILES:%.c=%.d)
 
 LIB = libbsd.a
 
-all: $(GENERATED_FILES) $(LIB) lib_user
+all: $(LIB) lib_user
 
-$(LIB): $(C_O_FILES)
+$(LIB): $(GENERATED_FILES) $(C_O_FILES)
 	$(AR) rcu $@ $^
 
 lib_user: $(LIB) install_bsd
@@ -1000,6 +1002,8 @@ install_bsd: $(LIB)
 	install -c -m 644 $(LIB) $(INSTALL_BASE)
 	cd rtemsbsd; for i in `find freebsd -name '*.h'` ; do \
 	  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
+	cd contrib/altq ; for i in `find freebsd -name '*.h'` ; do \
+	  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
 	for i in `find freebsd -name '*.h' | $(CPU_SED)` ; do \
 	  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done
 	-cd freebsd/$(RTEMS_CPU)/include && for i in `find . -name '*.h'` ; do \
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py
index 8a7d88c..af09ad9 100755
--- a/freebsd-to-rtems.py
+++ b/freebsd-to-rtems.py
@@ -382,6 +382,8 @@ class ModuleManager:
 			'CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d\n' \
 			'NEED_DUMMY_PIC_IRQ=yes\n' \
 			'\n' \
+                        '# do nothing default so sed on rtems-bsd-config.h always works.\n' \
+                        'SED_PATTERN += -e \'s/^//\'\n' \
 			'GENERATED_FILES = rtemsbsd/freebsd/machine/rtems-bsd-config.h\n' \
 			'\n'
 		data += 'C_FILES =\n'
@@ -427,9 +429,9 @@ class ModuleManager:
 			'\n' \
 			'LIB = libbsd.a\n' \
 			'\n' \
-			'all: $(GENERATED_FILES) $(LIB) lib_user\n' \
+			'all: $(LIB) lib_user\n' \
 			'\n' \
-			'$(LIB): $(C_O_FILES)\n' \
+			'$(LIB): $(GENERATED_FILES) $(C_O_FILES)\n' \
 			'\t$(AR) rcu $@ $^\n' \
 			'\n' \
 			'lib_user: $(LIB) install_bsd\n' \
@@ -491,6 +493,8 @@ class ModuleManager:
 			'\tinstall -c -m 644 $(LIB) $(INSTALL_BASE)\n' \
 			'\tcd rtemsbsd; for i in `find freebsd -name \'*.h\'` ; do \\\n' \
 			'\t  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \
+			'\tcd contrib/altq; for i in `find freebsd -name \'*.h\'` ; do \\\n' \
+			'\t  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \
 			'\tfor i in `find freebsd -name \'*.h\' | $(CPU_SED)` ; do \\\n' \
 			'\t  install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \
 			'\t-cd freebsd/$(RTEMS_CPU)/include && for i in `find . -name \'*.h\'` ; do \\\n' \
@@ -1174,7 +1178,8 @@ devUsbBase.addHeaderFiles(
 		'sys/file.h',
 		'sys/filio.h',
 		'sys/ioccom.h',
-		'sys/_iovec.h',
+		# FreeBSD version is in RTEMS since used by readv/writev
+		# 'sys/_iovec.h',
 		'sys/kernel.h',
 		'sys/kobj.h',
 		'sys/kthread.h',
@@ -1229,7 +1234,8 @@ devUsbBase.addHeaderFiles(
 		'sys/types.h',
 		'sys/ucontext.h',
 		'sys/ucred.h',
-		'sys/uio.h',
+		# FreeBSD version is in RTEMS since used by readv/writev
+		# 'sys/uio.h',
 		'sys/aio.h',
 		'sys/unistd.h',
 		'sys/vmmeter.h',
@@ -1648,7 +1654,6 @@ net.addSourceFiles(
 		'net/if_mib.c',
 		'net/if_spppfr.c',
 		'net/if_spppsubr.c',
-		'net/if_stf.c',
 		'net/if_tap.c',
 		'net/if_tun.c',
 		'net/if_vlan.c',
@@ -1869,6 +1874,7 @@ netinet6.addHeaderFiles(
 )
 netinet6.addSourceFiles(
 	[
+		'net/if_stf.c',
 		'netinet6/dest6.c',
 		'netinet6/frag6.c',
 		'netinet6/icmp6.c',




More information about the vc mailing list