Modifications to separate RTEMS BSD files from FreeBSD files

This commit is contained in:
Joel Sherrill
2012-03-07 16:54:28 -06:00
parent 7689668a43
commit 63e8969169

View File

@@ -1,3 +1,5 @@
#! /usr/bin/python
#
# Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved. # Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved.
# #
# embedded brains GmbH # embedded brains GmbH
@@ -6,6 +8,9 @@
# Germany # Germany
# <info@embedded-brains.de> # <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 # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions # modification, are permitted provided that the following conditions
# are met: # are met:
@@ -32,17 +37,19 @@
import shutil import shutil
import os import os
import re import re
import sys
PREFIX = 'rtems/freebsd' 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")
OUTPUT_DIRECTORY = sys.argv[1]
print "Generating into", OUTPUT_DIRECTORY
REVERT_DIRECTORY = '.' REVERT_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'
def mapContribPath(path): def mapContribPath(path):
m = re.match('(.*)(' + PREFIX + '/)(contrib/\\w+/)(.*)', path) m = re.match('(.*)(' + PREFIX + '/)(contrib/\\w+/)(.*)', path)
if m: if m:
@@ -167,15 +174,13 @@ class ModuleManager:
revertSourceFile(f) revertSourceFile(f)
def createMakefile(self): def createMakefile(self):
data = 'RTEMS_MAKEFILE_PATH = ' + BSP + '\n' \ data = 'include config.inc\n' \
'INSTALL_BASE = ' + INSTALL_BASE + '\n' \
'\n' \ '\n' \
'include $(RTEMS_MAKEFILE_PATH)/Makefile.inc\n' \ 'include $(RTEMS_MAKEFILE_PATH)/Makefile.inc\n' \
'include $(RTEMS_CUSTOM)\n' \ 'include $(RTEMS_CUSTOM)\n' \
'include $(PROJECT_ROOT)/make/leaf.cfg\n' \ 'include $(PROJECT_ROOT)/make/leaf.cfg\n' \
'include $(PROJECT_ROOT)/make/target.cfg\n' \
'\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' '\n'
data += 'C_FILES =' data += 'C_FILES ='
for m in self.modules: for m in self.modules:
@@ -183,6 +188,9 @@ class ModuleManager:
f = PREFIX + '/' + f f = PREFIX + '/' + f
f = mapContribPath(f) f = mapContribPath(f)
data += ' \\\n\t' + 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' \ data += '\nC_O_FILES = $(C_FILES:%.c=%.o)\n' \
'C_DEP_FILES = $(C_FILES:%.c=%.dep)\n' \ 'C_DEP_FILES = $(C_FILES:%.c=%.dep)\n' \
@@ -195,12 +203,12 @@ class ModuleManager:
'\t$(AR) rcu $@ $^\n' \ '\t$(AR) rcu $@ $^\n' \
'\n' \ '\n' \
'lib_usb:\n' \ 'lib_usb:\n' \
'\texport PATH=$(PATH):/usr/local/gcc-4.5.2/bin ; \\\n' \
'\tmake $(LIB)\n' \ '\tmake $(LIB)\n' \
'\n' \ '\n' \
'install: $(LIB)\n' \ 'install: $(LIB)\n' \
'\tinstall -c -m 644 $(LIB) $(INSTALL_BASE)\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' \ '\n' \
'clean:\n' \ 'clean:\n' \
'\trm -f -r $(PROJECT_INCLUDE)/rtems/freebsd\n' \ '\trm -f -r $(PROJECT_INCLUDE)/rtems/freebsd\n' \
@@ -227,13 +235,9 @@ class Module:
def addDependency(self, dep): def addDependency(self, dep):
self.dependencies.append(dep) self.dependencies.append(dep)
print( "1\n" )
mm = ModuleManager() mm = ModuleManager()
print( "2\n" )
rtems = Module('rtems') rtems_headerFiles = [
rtems.addHeaderFiles(
[
'rtems/machine/atomic.h', 'rtems/machine/atomic.h',
'rtems/machine/_bus.h', 'rtems/machine/_bus.h',
'rtems/machine/bus.h', 'rtems/machine/bus.h',
@@ -263,43 +267,45 @@ rtems.addHeaderFiles(
#'rtems/machine/vm.h', #'rtems/machine/vm.h',
'bsd.h', 'bsd.h',
] ]
) rtems_sourceFiles = [
rtems.addSourceFiles( 'rtems-bsd-cam.c',
[ 'rtems-bsd-nexus.c',
'rtems/rtems-bsd-cam.c', 'rtems-bsd-autoconf.c',
'rtems/rtems-bsd-nexus.c', 'rtems-bsd-delay.c',
'rtems/rtems-bsd-autoconf.c', 'rtems-bsd-mutex.c',
'rtems/rtems-bsd-delay.c', 'rtems-bsd-thread.c',
'rtems/rtems-bsd-mutex.c', 'rtems-bsd-condvar.c',
'rtems/rtems-bsd-thread.c', 'rtems-bsd-lock.c',
'rtems/rtems-bsd-condvar.c', 'rtems-bsd-sx.c',
'rtems/rtems-bsd-lock.c', 'rtems-bsd-rmlock.c',
'rtems/rtems-bsd-sx.c', 'rtems-bsd-rwlock.c',
'rtems/rtems-bsd-rwlock.c', 'rtems-bsd-generic.c',
'rtems/rtems-bsd-generic.c', 'rtems-bsd-panic.c',
'rtems/rtems-bsd-panic.c', 'rtems-bsd-synch.c',
'rtems/rtems-bsd-synch.c', 'rtems-bsd-signal.c',
'rtems/rtems-bsd-signal.c', 'rtems-bsd-callout.c',
'rtems/rtems-bsd-callout.c', 'rtems-bsd-init.c',
'rtems/rtems-bsd-init.c', 'rtems-bsd-init-with-irq.c',
'rtems/rtems-bsd-init-with-irq.c', 'rtems-bsd-assert.c',
'rtems/rtems-bsd-assert.c', 'rtems-bsd-prot.c',
'rtems/rtems-bsd-prot.c', 'rtems-bsd-resource.c',
'rtems/rtems-bsd-resource.c', 'rtems-bsd-jail.c',
'rtems/rtems-bsd-jail.c', 'rtems-bsd-shell.c',
'rtems/rtems-bsd-shell.c', 'rtems-bsd-syscalls.c',
'rtems/rtems-bsd-syscalls.c', #rtems-bsd-socket.c',
#'rtems/rtems-bsd-socket.c', #rtems-bsd-mbuf.c',
#'rtems/rtems-bsd-mbuf.c', 'rtems-bsd-malloc.c',
'rtems/rtems-bsd-malloc.c', 'rtems-bsd-support.c',
'rtems/rtems-bsd-support.c', 'rtems-bsd-bus-dma.c',
'rtems/rtems-bsd-bus-dma.c', 'rtems-bsd-sysctl.c',
'rtems/rtems-bsd-sysctl.c', 'rtems-bsd-sysctlbyname.c',
'rtems/rtems-bsd-sysctlbyname.c', 'rtems-bsd-sysctlnametomib.c',
'rtems/rtems-bsd-sysctlnametomib.c', 'rtems-bsd-uma.c',
'rtems/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 = Module('local')
local.addHeaderFiles( local.addHeaderFiles(
@@ -1548,7 +1554,7 @@ mm.addModule(altq)
mm.addModule(pf) mm.addModule(pf)
mm.addModule(devNet) mm.addModule(devNet)
mm.addModule(rtems) # mm.addModule(rtems)
mm.addModule(local) mm.addModule(local)
mm.addModule(devUsbBase) mm.addModule(devUsbBase)
mm.addModule(devUsb) mm.addModule(devUsb)
@@ -1563,3 +1569,4 @@ mm.addModule(devUsbStorage)
#mm.revertFiles() #mm.revertFiles()
mm.copyFiles() mm.copyFiles()
mm.createMakefile() mm.createMakefile()