summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2012-09-05 12:58:09 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2012-09-05 12:58:09 -0500
commitb7923cd15b5ce145491752e9823f1b9b34b9f346 (patch)
tree9723866dc1619b996d95d7fdcef76db9e7c23ed9
parentrtemsbsd/freebsd/sys/uio.h: New wrapper for <sys/uio.h> (diff)
downloadrtems-libbsd-b7923cd15b5ce145491752e9823f1b9b34b9f346.tar.bz2
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.
-rw-r--r--Makefile10
-rwxr-xr-xfreebsd-to-rtems.py16
2 files changed, 18 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index bbd51ac8..3d0cef8c 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 8a7d88ca..af09ad91 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',