Mercurial > flash_v2
view packages/hal/synth/i386linux/current/cdl/hal_synth_i386.cdl @ 208:e0c0827131d1 ecos
Merge from eCos master repository on 2002-05-20-20:11:54-BST
| author | jlarmour |
|---|---|
| date | Mon, 20 May 2002 22:19:26 +0000 |
| parents | ac086aa3217e |
| children | d2c90368aeef |
line wrap: on
line source
# ==================================================================== # # hal_synth_i386.cdl # # i386-specific synthetic target configuration data # # ==================================================================== #####ECOSGPLCOPYRIGHTBEGIN#### # ------------------------------------------- # This file is part of eCos, the Embedded Configurable Operating System. # Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. # # eCos is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free # Software Foundation; either version 2 or (at your option) any later version. # # eCos is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License along # with eCos; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. # # As a special exception, if other files instantiate templates or use macros # or inline functions from this file, or you compile this file and link it # with other works to produce a work based on this file, this file does not # by itself cause the resulting work to be covered by the GNU General Public # License. However the source code for this file must still be made available # in accordance with section (3) of the GNU General Public License. # # This exception does not invalidate any other reasons why a work based on # this file might be covered by the GNU General Public License. # # Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. # at http://sources.redhat.com/ecos/ecos-license # ------------------------------------------- #####ECOSGPLCOPYRIGHTEND#### # ==================================================================== ######DESCRIPTIONBEGIN#### # # Author(s): jskov # Original data: jskov # Contributors: bartv # Date: 1999-11-01 # #####DESCRIPTIONEND#### # # ==================================================================== cdl_package CYGPKG_HAL_SYNTH_I386 { parent CYGPKG_HAL_SYNTH display "Linux/i386 synthetic target" description " The Linux/i386 Synthetic Target HAL package provides the support needed to run eCos binaries on top of the i386 Linux kernel." include_dir cyg/hal define_header hal_synth_i386.h define_proc { puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_synth_i386.h>" } # On the synthetic target the default main stack size is smaller than # the recommended minimum from var_arch.h requires { !CYGPKG_LIBC_STARTUP || CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE || (CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE >= (16 * 1024)) } make { <PREFIX>/lib/vectors.o : <PACKAGE>/src/vectors.S $(CC) -Wp,-MD,vectors.tmp $(INCLUDE_PATH) $(CFLAGS) -c -o $@ $< @echo $@ ": \\" > $(notdir $@).deps @tail +2 vectors.tmp >> $(notdir $@).deps @echo >> $(notdir $@).deps @rm vectors.tmp } compile context.S syscall-i386-linux-1.0.S cdl_component CYG_HAL_STARTUP { display "Startup type" flavor data legal_values {"ROM"} default_value {"ROM"} no_define define -file system.h CYG_HAL_STARTUP description " At the moment only ROM startup is supported. In the context of the synthetic target this means a read-only region for code and a read-write region for data." } cdl_component CYGBLD_GLOBAL_OPTIONS { display "Global build options" flavor none parent CYGPKG_NONE description " Global build options including control over compiler flags, linker flags and choice of toolchain." cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { display "Global command prefix" flavor data no_define if { ($tcl_platform(os) == "Linux") && [string match "i*86" $tcl_platform(machine)] } { default_value { "" } } else { default_value { "i686-pc-linux-gnu" } } description " This option specifies the command prefix used when invoking the build tools. You must be using gcc-2.95.2 or later, and \"ld -v\" must report a version more recent than 2.9.1." } cdl_option CYGBLD_GLOBAL_CFLAGS { display "Global compiler flags" flavor data no_define default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define options which override these global flags." } cdl_option CYGBLD_GLOBAL_LDFLAGS { display "Global linker flags" flavor data no_define default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" } description " This option controls the global linker flags. Individual packages may define options which override these global flags." } } cdl_component CYGHWR_MEMORY_LAYOUT { display "Memory layout" flavor data no_define calculated { "mlt_synth_i386_rom" } cdl_option CYGHWR_MEMORY_LAYOUT_LDI { display "Memory layout linker script fragment" flavor data no_define define -file system.h CYGHWR_MEMORY_LAYOUT_LDI calculated { "<pkgconf/mlt_synth_i386_rom.ldi>" } } cdl_option CYGHWR_MEMORY_LAYOUT_H { display "Memory layout header file" flavor data no_define define -file system.h CYGHWR_MEMORY_LAYOUT_H calculated { "<pkgconf/mlt_synth_i386_rom.h>" } } } }
