Changeset b9c291c in rtems-libbsd


Ignore:
Timestamp:
Mar 8, 2012, 2:57:16 PM (8 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, c1e05b9ea378b2971e3d7704779112b4bc4296da, freebsd-9.3, 4a77611a223ea883fb548679b516d326a020d447
Children:
a803d120
Parents:
03d4faf
Message:

Generate without rtems/ on includes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • freebsd-to-rtems.py

    r03d4faf rb9c291c  
    88#   Germany
    99#   <info@embedded-brains.de>
    10 #
    11 #  Copyright (c) 2012.
    12 #  Modifications by OAR Corporation. All rights reserved.
    1310#
    1411#  Redistribution and use in source and binary forms, with or without
     
    3936import re
    4037import sys
    41 
    42 PREFIX = 'rtems/freebsd'
    43 
    44 # the program name and the file name
    45 if len(sys.argv) != 2:
    46   sys.exit("Must provide an output directory")
    47 
    48 OUTPUT_DIRECTORY = sys.argv[1]
    49 print "Generating into", OUTPUT_DIRECTORY
    50 
    51 REVERT_DIRECTORY = '.'
     38import getopt
     39
     40RTEMS_DIR = sys.argv[1]
     41FreeBSD_DIR = '.'
     42verbose = False
     43isForward = True
     44
     45def usage():
     46        print "Usage help here"
     47
     48# Parse the arguments
     49def parseArguments():
     50  global RTEMS_DIR, FreeBSD_DIR, verbose, isForward
     51  try:
     52    opts, args = getopt.getopt(sys.argv[1:], "?hRr:f:v",
     53                 ["help",
     54                  "help",
     55                  "reverse"
     56                  "rtems="
     57                  "freebsd="
     58                  "verbose"
     59                 ]
     60                )
     61  except getopt.GetoptError, err:
     62    # print help information and exit:
     63    print str(err) # will print something like "option -a not recognized"
     64    usage()
     65    sys.exit(2)
     66  for o, a in opts:
     67    if o == "-v":
     68      verbose = True
     69    elif o in ("-h", "--help", "-?"):
     70      usage()
     71      sys.exit()
     72    elif o in ("-R", "--reverse"):
     73      isForward = False
     74    elif o in ("-r", "--rtems"):
     75      RTEMS_DIR = a
     76    elif o in ("-r", "--rtems"):
     77      RTEMS_DIR = a
     78    elif o in ("-f", "--freebsd"):
     79      FreeBSD_DIR = a
     80    else:
     81       assert False, "unhandled option"
     82
     83parseArguments()
     84print "Verbose:           " + ("no", "yes")[verbose]
     85print "RTEMS Directory:   " + RTEMS_DIR
     86print "FreeBSD Directory: " + FreeBSD_DIR
     87print "Direction:         " + ("reverse", "forward")[isForward]
     88
     89# test for existence of RTEMS and FreeBSD directories
     90if os.path.isdir( RTEMS_DIR ) != True:
     91    print "RTEMS Directory (" + RTEMS_DIR + ") does not exist"
     92    sys.exit(2)
     93 
     94if os.path.isdir( FreeBSD_DIR ) != True:
     95    print "FreeBSD Directory (" + FreeBSD_DIR + ") does not exist"
     96    sys.exit(2)
     97 
     98# Prefix added to FreeBSD files as they are copied into the RTEMS
     99# build tree.
     100PREFIX = 'freebsd'
     101
     102print "Generating into", RTEMS_DIR
    52103
    53104def mapContribPath(path):
     
    58109
    59110def installEmptyFile(src):
    60         dst = OUTPUT_DIRECTORY + '/' + PREFIX + '/' + src.replace('rtems/', '')
     111        dst = RTEMS_DIR + '/' + PREFIX + '/' + src.replace('rtems/', '')
    61112        try:
    62113                os.makedirs(os.path.dirname(dst))
     
    81132        return data
    82133
    83 def installHeaderFile(src):
    84         dst = OUTPUT_DIRECTORY + '/' + PREFIX + '/' + src.replace('rtems/', '')
     134def installHeaderFile(org):
     135        src = FreeBSD_DIR + '/' + org
     136        dst = RTEMS_DIR + '/' + PREFIX + '/' + org # + org.replace('rtems/', '')
    85137        dst = mapContribPath(dst)
    86138        try:
     
    95147        out.close()
    96148
    97 def installSourceFile(src):
    98         dst = OUTPUT_DIRECTORY + '/' + PREFIX + '/' + src
     149def installSourceFile(org):
     150        src = FreeBSD_DIR + '/' + org
     151        dst = RTEMS_DIR + '/' + PREFIX + '/' + org
    99152        dst = mapContribPath(dst)
    100153        try:
     
    111164
    112165def revertHeaderFile(org):
    113         src = OUTPUT_DIRECTORY + '/' + PREFIX + '/' + org.replace('rtems/', '')
     166        src = RTEMS_DIR + '/' + PREFIX + '/' + org.replace('rtems/', '')
    114167        src = mapContribPath(src)
    115         dst = REVERT_DIRECTORY + '/' + org
     168        dst = FreeBSD_DIR + '/' + org
    116169        try:
    117170                os.makedirs(os.path.dirname(dst))
     
    126179
    127180def revertSourceFile(org):
    128         src = OUTPUT_DIRECTORY + '/' + PREFIX + '/' + org
     181        src = RTEMS_DIR + '/' + PREFIX + '/' + org
    129182        src = mapContribPath(src)
    130         dst = REVERT_DIRECTORY + '/' + org
     183        dst = FreeBSD_DIR + '/' + org
    131184        try:
    132185                os.makedirs(os.path.dirname(dst))
     
    143196def deleteOutputDirectory():
    144197        try:
    145                 shutil.rmtree(OUTPUT_DIRECTORY)
     198                shutil.rmtree(RTEMS_DIR)
    146199        except OSError:
    147200            pass
     
    181234                        'include $(PROJECT_ROOT)/make/leaf.cfg\n' \
    182235                        '\n' \
    183                         'CFLAGS += -ffreestanding -I . -I rtemsbsd -I contrib/altq -I contrib/pf -B $(INSTALL_BASE) -w -std=gnu99\n' \
     236                        'CFLAGS += -ffreestanding \n' \
     237                        'CFLAGS += -I . \n' \
     238                        'CFLAGS += -I rtemsbsd \n' \
     239                        'CFLAGS += -I rtemsbsd/rtems \n' \
     240                        'CFLAGS += -I contrib/altq \n' \
     241                        'CFLAGS += -I contrib/pf \n' \
     242                        'CFLAGS += -B $(INSTALL_BASE) \n' \
     243                        'CFLAGS += -w \n' \
     244                        'CFLAGS += -std=gnu99\n' \
    184245                        '\n'
    185246                data += 'C_FILES ='
     
    216277                        '\n' \
    217278                        '-include $(C_DEP_FILES)\n'
    218                 out = open(OUTPUT_DIRECTORY + '/Makefile', 'w')
     279                out = open(RTEMS_DIR + '/Makefile', 'w')
    219280                out.write(data)
    220281                out.close()
     
    239300
    240301rtems_headerFiles = [
     302        'rtems/machine/in_cksum.h',  # logically a net file
    241303        'rtems/machine/atomic.h',
    242304        'rtems/machine/_bus.h',
     
    879941
    880942netDeps = Module('netDeps')
     943# logically machine/in_cksum.h is part of this group but RTEMS provides its own
    881944netDeps.addHeaderFiles(
    882945        [
    883                 'rtems/machine/in_cksum.h',
    884946        'security/mac/mac_framework.h',
    885947        'sys/cpu.h',
Note: See TracChangeset for help on using the changeset viewer.