diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-03-07 16:54:28 -0600 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-03-07 16:54:28 -0600 |
commit | 63e8969169451deb088c400336653d78e94746f1 (patch) | |
tree | f715026ea612b68b5e36d0e0d65b88a26269100a /freebsd-to-rtems.py | |
parent | Add Changes and ISSUES files (diff) | |
download | rtems-libbsd-63e8969169451deb088c400336653d78e94746f1.tar.bz2 |
Modifications to separate RTEMS BSD files from FreeBSD files
Diffstat (limited to 'freebsd-to-rtems.py')
-rwxr-xr-x | freebsd-to-rtems.py | 157 |
1 files changed, 82 insertions, 75 deletions
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py index 7fd1b16e..369e210d 100755 --- a/freebsd-to-rtems.py +++ b/freebsd-to-rtems.py @@ -1,3 +1,5 @@ +#! /usr/bin/python +# # Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved. # # embedded brains GmbH @@ -6,6 +8,9 @@ # Germany # <info@embedded-brains.de> # +# Copyright (c) 2012. +# Modifications by OAR Corporation. All rights reserved. +# # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: @@ -32,16 +37,18 @@ import shutil import os import re +import sys PREFIX = 'rtems/freebsd' -OUTPUT_DIRECTORY = '/home/kirspelk/sandbox/opti_touch/libbsd-8.2' +# the program name and the file name +if len(sys.argv) != 2: + sys.exit("Must provide an output directory") -REVERT_DIRECTORY = '.' +OUTPUT_DIRECTORY = sys.argv[1] +print "Generating into", OUTPUT_DIRECTORY -BSP = '/home/kirspelk/sandbox/opti_touch/b_rtems_arm/arm-rtems/c/lpc3250/make' - -INSTALL_BASE = '/home/kirspelk/sandbox/opti_touch/b_rtems_arm/arm-rtems/lpc3250/lib' +REVERT_DIRECTORY = '.' def mapContribPath(path): m = re.match('(.*)(' + PREFIX + '/)(contrib/\\w+/)(.*)', path) @@ -167,15 +174,13 @@ class ModuleManager: revertSourceFile(f) def createMakefile(self): - data = 'RTEMS_MAKEFILE_PATH = ' + BSP + '\n' \ - 'INSTALL_BASE = ' + INSTALL_BASE + '\n' \ + data = 'include config.inc\n' \ '\n' \ 'include $(RTEMS_MAKEFILE_PATH)/Makefile.inc\n' \ 'include $(RTEMS_CUSTOM)\n' \ 'include $(PROJECT_ROOT)/make/leaf.cfg\n' \ - 'include $(PROJECT_ROOT)/make/target.cfg\n' \ '\n' \ - 'CFLAGS += -ffreestanding -I . -I contrib/altq -I contrib/pf -B $(INSTALL_BASE) -w -std=gnu99\n' \ + 'CFLAGS += -ffreestanding -I . -I rtemsbsd -I contrib/altq -I contrib/pf -B $(INSTALL_BASE) -w -std=gnu99\n' \ '\n' data += 'C_FILES =' for m in self.modules: @@ -183,6 +188,9 @@ class ModuleManager: f = PREFIX + '/' + f f = mapContribPath(f) data += ' \\\n\t' + f + for f in rtems_sourceFiles: + f = 'rtemsbsd/src/' + f + data += ' \\\n\t' + f data += '\nC_O_FILES = $(C_FILES:%.c=%.o)\n' \ 'C_DEP_FILES = $(C_FILES:%.c=%.dep)\n' \ @@ -195,12 +203,12 @@ class ModuleManager: '\t$(AR) rcu $@ $^\n' \ '\n' \ 'lib_usb:\n' \ - '\texport PATH=$(PATH):/usr/local/gcc-4.5.2/bin ; \\\n' \ '\tmake $(LIB)\n' \ '\n' \ 'install: $(LIB)\n' \ '\tinstall -c -m 644 $(LIB) $(INSTALL_BASE)\n' \ - '\tfor i in `find . -name \'*.h\'` ; do install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \ + '\tfor i in `find . -name \'*.h\'` ; do \\\n' \ + '\t install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \ '\n' \ 'clean:\n' \ '\trm -f -r $(PROJECT_INCLUDE)/rtems/freebsd\n' \ @@ -227,79 +235,77 @@ class Module: def addDependency(self, dep): self.dependencies.append(dep) -print( "1\n" ) mm = ModuleManager() -print( "2\n" ) -rtems = Module('rtems') -rtems.addHeaderFiles( - [ - 'rtems/machine/atomic.h', +rtems_headerFiles = [ + 'rtems/machine/atomic.h', 'rtems/machine/_bus.h', - 'rtems/machine/bus.h', - 'rtems/machine/bus_dma.h', + 'rtems/machine/bus.h', + 'rtems/machine/bus_dma.h', 'rtems/machine/rtems-bsd-config.h', 'rtems/machine/clock.h', - 'rtems/machine/cpufunc.h', - 'rtems/machine/endian.h', - 'rtems/machine/_limits.h', - 'rtems/machine/_align.h', - 'rtems/machine/mutex.h', - 'rtems/machine/param.h', - 'rtems/machine/pcpu.h', + 'rtems/machine/cpufunc.h', + 'rtems/machine/endian.h', + 'rtems/machine/_limits.h', + 'rtems/machine/_align.h', + 'rtems/machine/mutex.h', + 'rtems/machine/param.h', + 'rtems/machine/pcpu.h', #'rtems/machine/pmap.h', - 'rtems/machine/proc.h', - 'rtems/machine/resource.h', - 'rtems/machine/runq.h', - 'rtems/machine/signal.h', - 'rtems/machine/stdarg.h', - 'rtems/machine/_stdint.h', - 'rtems/machine/_types.h', - 'rtems/machine/ucontext.h', - 'rtems/machine/rtems-bsd-symbols.h', - 'rtems/machine/rtems-bsd-cache.h', - 'rtems/machine/rtems-bsd-sysinit.h', + 'rtems/machine/proc.h', + 'rtems/machine/resource.h', + 'rtems/machine/runq.h', + 'rtems/machine/signal.h', + 'rtems/machine/stdarg.h', + 'rtems/machine/_stdint.h', + 'rtems/machine/_types.h', + 'rtems/machine/ucontext.h', + 'rtems/machine/rtems-bsd-symbols.h', + 'rtems/machine/rtems-bsd-cache.h', + 'rtems/machine/rtems-bsd-sysinit.h', 'rtems/machine/rtems-bsd-select.h', #'rtems/machine/vm.h', - 'bsd.h', + 'bsd.h', ] -) -rtems.addSourceFiles( - [ - 'rtems/rtems-bsd-cam.c', - 'rtems/rtems-bsd-nexus.c', - 'rtems/rtems-bsd-autoconf.c', - 'rtems/rtems-bsd-delay.c', - 'rtems/rtems-bsd-mutex.c', - 'rtems/rtems-bsd-thread.c', - 'rtems/rtems-bsd-condvar.c', - 'rtems/rtems-bsd-lock.c', - 'rtems/rtems-bsd-sx.c', - 'rtems/rtems-bsd-rwlock.c', - 'rtems/rtems-bsd-generic.c', - 'rtems/rtems-bsd-panic.c', - 'rtems/rtems-bsd-synch.c', - 'rtems/rtems-bsd-signal.c', - 'rtems/rtems-bsd-callout.c', - 'rtems/rtems-bsd-init.c', - 'rtems/rtems-bsd-init-with-irq.c', - 'rtems/rtems-bsd-assert.c', - 'rtems/rtems-bsd-prot.c', - 'rtems/rtems-bsd-resource.c', - 'rtems/rtems-bsd-jail.c', - 'rtems/rtems-bsd-shell.c', - 'rtems/rtems-bsd-syscalls.c', - #'rtems/rtems-bsd-socket.c', - #'rtems/rtems-bsd-mbuf.c', - 'rtems/rtems-bsd-malloc.c', - 'rtems/rtems-bsd-support.c', - 'rtems/rtems-bsd-bus-dma.c', - 'rtems/rtems-bsd-sysctl.c', - 'rtems/rtems-bsd-sysctlbyname.c', - 'rtems/rtems-bsd-sysctlnametomib.c', - 'rtems/rtems-bsd-uma.c', +rtems_sourceFiles = [ + 'rtems-bsd-cam.c', + 'rtems-bsd-nexus.c', + 'rtems-bsd-autoconf.c', + 'rtems-bsd-delay.c', + 'rtems-bsd-mutex.c', + 'rtems-bsd-thread.c', + 'rtems-bsd-condvar.c', + 'rtems-bsd-lock.c', + 'rtems-bsd-sx.c', + 'rtems-bsd-rmlock.c', + 'rtems-bsd-rwlock.c', + 'rtems-bsd-generic.c', + 'rtems-bsd-panic.c', + 'rtems-bsd-synch.c', + 'rtems-bsd-signal.c', + 'rtems-bsd-callout.c', + 'rtems-bsd-init.c', + 'rtems-bsd-init-with-irq.c', + 'rtems-bsd-assert.c', + 'rtems-bsd-prot.c', + 'rtems-bsd-resource.c', + 'rtems-bsd-jail.c', + 'rtems-bsd-shell.c', + 'rtems-bsd-syscalls.c', + #rtems-bsd-socket.c', + #rtems-bsd-mbuf.c', + 'rtems-bsd-malloc.c', + 'rtems-bsd-support.c', + 'rtems-bsd-bus-dma.c', + 'rtems-bsd-sysctl.c', + 'rtems-bsd-sysctlbyname.c', + 'rtems-bsd-sysctlnametomib.c', + 'rtems-bsd-uma.c', ] -) +# RTEMS files handled separately from modules +# rtems = Module('rtems') +# rtems.addHeaderFiles( rtems_headerFiles ) +# rtems.addSourceFiles( rtems_sourceFiles ) local = Module('local') local.addHeaderFiles( @@ -1548,7 +1554,7 @@ mm.addModule(altq) mm.addModule(pf) mm.addModule(devNet) -mm.addModule(rtems) +# mm.addModule(rtems) mm.addModule(local) mm.addModule(devUsbBase) mm.addModule(devUsb) @@ -1563,3 +1569,4 @@ mm.addModule(devUsbStorage) #mm.revertFiles() mm.copyFiles() mm.createMakefile() + |