Changeset e28175d in mainline for meson


Ignore:
Timestamp:
2020-03-15T10:44:02Z (5 years ago)
Author:
GitHub <noreply@…>
Parents:
b401b33 (diff), 44dde42 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
heiducteam <tristanided@…> (2020-03-15 10:44:02)
git-committer:
GitHub <noreply@…> (2020-03-15 10:44:02)
Message:

Merge pull request #1 from HelenOS/master

sync

Location:
meson
Files:
25 added
7 moved

Legend:

Unmodified
Added
Removed
  • meson/arch/abs32le/meson.build

    rb401b33 re28175d  
    11#
    2 # Copyright (c) 2016 Jiri Svoboda
     2# Copyright (c) 2019 Jiří Zárevúcky
    33# All rights reserved.
    44#
     
    2727#
    2828
    29 USPACE_PREFIX = ../..
    30 EXTRA_CFLAGS = -I$(LIBDLTEST_PREFIX)
    31 BINARY = dltests
     29arch_kernel_c_args = [ '-D__LE__' ]
     30arch_uspace_c_args = [ '-D__LE__' ]
    3231
    33 SOURCES = \
    34         dltests.c
     32if CROSS_TARGET == 'arm32'
     33        atsign = '%'
     34elif CROSS_TARGET == 'mips32'
     35        arch_kernel_c_args += [ '-mno-abicalls' ]
     36endif
    3537
    36 include $(USPACE_PREFIX)/Makefile.common
    37 
    38 ifeq ($(STATIC_BUILD), y)
    39         EXTRA_CFLAGS += -DSTATIC_EXE
    40 endif
     38arch_kernel_link_args = [ '-nostdlib' ]
     39arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
  • meson/arch/arm64/meson.build

    rb401b33 re28175d  
    2727#
    2828
    29 BOOT_OUTPUT = image.boot
    30 POST_OUTPUT = $(ROOT_PATH)/image.iso
    31 POSTBUILD = Makefile.grub
    32 GRUB_LOADER = chainloader
     29arch_uspace_c_args = [ '-D__LE__', '-fno-omit-frame-pointer' ]
     30arch_kernel_c_args = arch_uspace_c_args + [ '-march=armv8-a+nofp+nosimd', '-mgeneral-regs-only' ]
     31arch_kernel_link_args = [ '-nostdlib' ]
     32arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
    3333
    34 BFD_NAME = elf64-littleaarch64
    35 # Request binary BFD output. The ARM64 port manually prepares the .text
    36 # section to look as a PE file than can be loaded on EFI systems.
    37 BFD_OUTPUT = binary
    38 BFD_ARCH = aarch64
    39 
    40 BITS = 64
    41 ENDIANESS = LE
    4234
    4335# UEFI binaries should be relocatable, the EFI boot service LoadImage() will
     
    5143# processor is in the execution mode that has unaligned access enabled. The
    5244# -mstrict-align option is therefore not needed.
    53 EXTRA_CFLAGS = -fpic -fvisibility=hidden
    54 EXTRA_LDFLAGS = -Wl,-shared
     45arch_boot_c_args = arch_uspace_c_args + [ '-fpic', '-fvisibility=hidden', '-fno-function-sections' ]
     46arch_boot_link_args = [ '-Wl,-shared', '-Wl,--no-gc-sections' ]
    5547
    56 ifeq ($(MACHINE), virt)
    57         RD_DRVS_ESSENTIAL += \
    58                 char/pl011 \
    59                 intctl/gicv2 \
    60                 platform/arm64virt
     48
     49if MACHINE == 'virt'
     50        rd_essential += [
     51                'drv/char/pl011',
     52                'drv/intctl/gicv2',
     53                'drv/platform/arm64virt',
     54        ]
    6155endif
    62 
    63 SOURCES = \
    64         arch/$(BARCH)/src/asm.S \
    65         arch/$(BARCH)/src/main.c \
    66         arch/$(BARCH)/src/relocate.c \
    67         $(COMPS).o \
    68         genarch/src/efi.c \
    69         generic/src/gzip.c \
    70         generic/src/inflate.c \
    71         generic/src/kernel.c \
    72         generic/src/memstr.c \
    73         generic/src/payload.c \
    74         generic/src/printf.c \
    75         generic/src/printf_core.c \
    76         generic/src/str.c \
    77         generic/src/tar.c \
    78         generic/src/version.c \
    79         generic/src/vprintf.c
  • meson/arch/ppc32/meson.build

    rb401b33 re28175d  
    11#
    2 # Copyright (c) 2006 Martin Decky
     2# Copyright (c) 2019 Jiří Zárevúcky
    33# All rights reserved.
    44#
     
    2727#
    2828
    29 RD_SRVS_ESSENTIAL += \
    30         audio/hound \
    31         devman
     29# FIXME: enable --gc-sections
    3230
    33 RD_DRVS_ESSENTIAL += \
    34         intctl/apic \
    35         intctl/i8259 \
    36         platform/pc \
    37         block/ata_bd \
    38         bus/pci/pciintel \
    39         bus/isa \
    40         audio/sb16 \
    41         char/i8042 \
    42         hid/ps2mouse \
    43         hid/xtkbd
     31_common_c_args = [ '-D__BE__', '-fno-omit-frame-pointer', '-m32', '-Wa,-a32', '-mcpu=powerpc' ]
    4432
    45 RD_DRVS_NON_ESSENTIAL += \
    46         audio/hdaudio \
    47         char/ns8250 \
    48         char/pc-lpt \
    49         time/cmos-rtc \
    50         bus/usb/ehci\
    51         bus/usb/ohci \
    52         bus/usb/uhci \
    53         bus/usb/usbdiag \
    54         bus/usb/usbflbk \
    55         bus/usb/usbhub \
    56         bus/usb/usbmid \
    57         bus/usb/vhc \
    58         bus/usb/xhci \
    59         block/usbmast \
    60         hid/usbhid
     33arch_kernel_c_args = _common_c_args + [ '-msoft-float', '-fno-function-sections' ]
     34arch_uspace_c_args = _common_c_args + [ CONFIG_FPU ? '-mhard-float' : '-msoft-float' ]
     35arch_boot_c_args = arch_kernel_c_args
     36arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000', '-Wl,--no-check-sections', '-Wl,--no-gc-sections' ]
     37arch_uspace_link_args = [ '-nostdlib', '-lgcc', '-Wl,-z,max-page-size=0x1000' ]
     38arch_boot_link_args = []
    6139
    62 RD_DRV_CFG += \
    63         bus/isa
    6440
    65 RD_APPS_ESSENTIAL += \
    66         edit \
    67         mixerctl \
    68         wavplay
    69 
    70 RD_DATA_NON_ESSENTIAL += \
    71         $(USPACE_PATH)/app/wavplay/demo.wav
    72 
    73 POST_OUTPUT = $(ROOT_PATH)/image.iso
    74 BUILD = Makefile.empty
    75 POSTBUILD = Makefile.grub
    76 GRUB_LOADER = multiboot
     41rd_essential += [
     42        'drv/platform/mac',
     43        'drv/bus/adb/cuda_adb',
     44        'drv/bus/pci/pciintel',
     45        'drv/bus/usb/ohci',
     46        'drv/bus/usb/usbdiag',
     47        'drv/bus/usb/usbflbk',
     48        'drv/bus/usb/usbhub',
     49        'drv/bus/usb/usbmid',
     50        'drv/bus/usb/vhc',
     51        'drv/block/usbmast',
     52        'drv/hid/adb-kbd',
     53        'drv/hid/adb-mouse',
     54        'drv/hid/usbhid',
     55]
  • meson/arch/riscv64/meson.build

    rb401b33 re28175d  
    11#
    2 # Copyright (c) 2017 Jiri Svoboda
     2# Copyright (c) 2019 Jiří Zárevúcky
    33# All rights reserved.
    44#
     
    2727#
    2828
    29 cfg_file = doxygen.cfg
    30 gen_cfg = doxygen.cfg.gen
    31 patch_file = doxygen.cfg.diff
    32 output_dirs = latex html
     29arch_uspace_c_args = [ '-D__LE__', '-fno-omit-frame-pointer' ]
     30arch_kernel_c_args = arch_uspace_c_args + [ '-mcmodel=medany' ]
     31arch_boot_c_args = arch_kernel_c_args
     32arch_kernel_link_args = [ '-nostdlib' ]
     33arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
     34arch_boot_link_args = []
    3335
    34 all: doxygen.cfg
    35         doxygen $^
    36 
    37 clean:
    38         rm -f $(gen_cfg) $(cfg_file)
    39         rm -rf $(output_dirs)
    40 
    41 $(cfg_file): $(gen_cfg)
    42         cp $^ $@
    43         patch $@ $(patch_file)
    44 
    45 $(gen_cfg):
    46         doxygen -g $@
     36rd_essential += [
     37]
  • meson/arch/sparc64/meson.build

    rb401b33 re28175d  
    11#
    2 # Copyright (c) 2006 Martin Decky
     2# Copyright (c) 2019 Jiří Zárevúcky
    33# All rights reserved.
    44#
     
    2727#
    2828
    29 BFD_ARCH = mips
    30 BITS = 32
    31 EXTRA_CFLAGS = -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mabi=32
    32 AS_PROLOG = .module softfloat;
     29arch_uspace_c_args = [ '-D__BE__', '-m64', '-mcmodel=medlow', '-mhard-float', '-m' + QUADFLOAT + '-quad-float' ]
    3330
    34 ifeq ($(MACHINE),msim)
    35         BFD_NAME = elf32-tradlittlemips
    36         BFD_OUTPUT = binary
    37         ENDIANESS = LE
    38         EXTRA_CFLAGS += -march=r4000
    39 endif
    40 ifeq ($(MACHINE),lmalta)
    41         BFD_NAME = elf32-tradlittlemips
    42         BFD_OUTPUT = elf32-tradlittlemips
    43         ENDIANESS = LE
    44         EXTRA_CFLAGS += -march=4kc
    45 endif
    46 ifeq ($(MACHINE),bmalta)
    47         BFD_NAME = elf32-tradbigmips
    48         BFD_OUTPUT = elf32-tradbigmips
    49         ENDIANESS = BE
    50         EXTRA_CFLAGS += -march=4kc
     31if PROCESSOR == 'sun4v'
     32        arch_uspace_c_args += [ '-mcpu=niagara', '-mno-vis' ]
     33else
     34        arch_uspace_c_args += [ '-mcpu=ultrasparc' ]
    5135endif
    5236
    53 ifeq ($(MACHINE), $(filter $(MACHINE),bmalta lmalta))
    54         RD_DRVS_ESSENTIAL += \
    55                 platform/malta \
    56                 intctl/i8259 \
    57                 block/ata_bd \
    58                 bus/pci/pciintel \
    59                 bus/isa \
    60                 char/i8042 \
    61                 char/ns8250 \
    62                 hid/ps2mouse \
    63                 hid/xtkbd
    64 
    65         RD_DRV_CFG += \
    66                 bus/isa
     37if PROCESSOR == 'us' or PROCESSOR == 'us3'
     38        arch_uspace_c_args += [ '-DSUN4U' ]
     39elif PROCESSOR == 'sun4v'
     40        arch_uspace_c_args += [ '-DSUN4V' ]
     41else
     42        error('Unknown PROCESSOR: ' + PROCESSOR)
    6743endif
    6844
    69 ifeq ($(MACHINE),msim)
    70         RD_DRVS_ESSENTIAL += \
    71                 platform/msim \
    72                 block/ddisk \
    73                 char/msim-con
     45
     46arch_kernel_c_args = [ '-D__BE__', '-m64', '-mcmodel=medlow', '-mcpu=ultrasparc', '-mno-fpu' ]
     47arch_boot_c_args = arch_kernel_c_args
     48
     49if PROCESSOR == 'us'
     50        arch_kernel_c_args += [
     51                '-DUS',
     52                '-DSUN4U',
     53        ]
     54elif PROCESSOR == 'us3'
     55        arch_kernel_c_args += [
     56                '-DUS3',
     57                '-DSUN4U',
     58        ]
     59elif PROCESSOR == 'sun4v'
     60        arch_kernel_c_args += [
     61                '-DSUN4V',
     62                #MH
     63                '-DUS',
     64        ]
    7465endif
    7566
    76 SOURCES = \
    77         arch/$(BARCH)/src/asm.S \
    78         arch/$(BARCH)/src/main.c \
    79         arch/$(BARCH)/src/putchar.c \
    80         $(COMPS).o \
    81         genarch/src/division.c \
    82         genarch/src/multiplication.c \
    83         generic/src/memstr.c \
    84         generic/src/printf_core.c \
    85         generic/src/vprintf.c \
    86         generic/src/printf.c \
    87         generic/src/str.c \
    88         generic/src/version.c \
    89         generic/src/inflate.c \
    90         generic/src/gzip.c \
    91         generic/src/tar.c \
    92         generic/src/kernel.c \
    93         generic/src/payload.c
     67arch_boot_link_args = []
     68arch_kernel_link_args = [ '-nostdlib', '-Wl,-no-check-sections' ]
     69arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
     70
     71if PROCESSOR == 'sun4v'
     72        arch_uspace_link_args += [ '-Wl,-z,max-page-size=0x2000' ]
     73else
     74        arch_uspace_link_args += [ '-Wl,-z,max-page-size=0x4000' ]
     75endif
     76
     77
     78if PROCESSOR == 'sun4v'
     79        rd_essential += [
     80                'drv/platform/sun4v',
     81                'drv/char/sun4v-con',
     82        ]
     83else
     84        rd_essential += [
     85                'drv/platform/sun4u',
     86                'drv/bus/pci/pciintel',
     87                'drv/bus/isa',
     88                'drv/intctl/obio',
     89                'drv/char/ns8250',
     90        ]
     91endif
  • meson/part/initrd_manifest/meson.build

    rb401b33 re28175d  
    11#
    2 # Copyright (c) 2005 Martin Decky
     2# Copyright (c) 2019 Jiří Zárevúcky
    33# All rights reserved.
    44#
     
    2727#
    2828
    29 ifeq ($(PROCESSOR),i486)
    30         COMMON_CFLAGS += -march=i486
    31 else
    32         COMMON_CFLAGS += -march=pentium
     29# Init binaries. These are actually baked into the bootloader.
     30rd_init = [
     31        # IMPORTANT: The order of entries is important for bootloader!
     32        'srv/ns',
     33        'srv/loader',
     34        'app/init',
     35        'srv/locsrv',
     36        'srv/bd/rd',
     37        'srv/vfs',
     38        'srv/logger',
     39        'srv/fs/' + RDFMT,
     40]
     41
     42# Binaries allowed on the initrd image when CONFIG_BAREBONE is enabled.
     43rd_essential = [
     44        'app/bdsh',
     45        'app/getterm',
     46        'app/kio',
     47
     48        'srv/devman',
     49        'srv/fs/locfs',
     50        'srv/hid/console',
     51        'srv/hid/input',
     52        'srv/hid/output',
     53        'srv/klog',
     54
     55        'drv/root/root',
     56        'drv/root/virt',
     57        'drv/fb/kfb',
     58]
     59
     60if CONFIG_FB
     61        rd_essential += [
     62                'app/vlaunch',
     63                'app/vterm',
     64
     65                'srv/hid/compositor',
     66        ]
    3367endif
    34 
    35 # XXX: This architecture requires unoptimized TLS pointer access,
    36 #      as with the GCC option `-mno-tls-direct-seg-refs`.
    37 #      The `i686-helenos` target defaults to this behavior.
    38 
    39 COMMON_CFLAGS += -mno-tls-direct-seg-refs -fno-omit-frame-pointer
    40 LDFLAGS += -Wl,--gc-sections
    41 
    42 ENDIANESS = LE
    43 
    44 BFD_NAME = elf32-i386
    45 BFD_ARCH = i386
Note: See TracChangeset for help on using the changeset viewer.