opkg

statically linked package installer
git clone anongit@rnpnr.xyz:opkg.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

gen.lua (1000B)


      1 local arch = ({
      2 	aarch64='aarch64',
      3 	x86_64='x86_64',
      4 })[config.target.platform:match('[^-]*')]
      5 if not arch then arch = 'generic' end
      6 
      7 local freestanding_cflags = {
      8 	'-fcf-protection=none',
      9 	'-fno-asynchronous-unwind-tables',
     10 	'-fno-builtin',
     11 	'-fno-lto',
     12 	'-fno-pie',
     13 	'-fno-stack-protector',
     14 }
     15 local archcflags = {}
     16 local archldflags = {}
     17 archcflags['generic']  = {}
     18 archldflags['generic'] = {}
     19 archcflags['x86_64']   = freestanding_cflags
     20 archldflags['x86_64']  = {'-nostdlib', '-Wl,--gc-sections'}
     21 archcflags['aarch64']  = freestanding_cflags
     22 archldflags['aarch64'] = {'-nostdlib', '-Wl,--gc-sections'}
     23 
     24 local archsrcs = {}
     25 archsrcs['generic'] = {'main_posix.c'}
     26 archsrcs['aarch64'] = {'main_linux_aarch64.c'}
     27 archsrcs['x86_64']  = {'main_linux_amd64.c'}
     28 
     29 cflags(archcflags[arch])
     30 set('ldflags', '$ldflags '..table.concat(archldflags[arch], ' '))
     31 
     32 exe('u-config', archsrcs[arch])
     33 file('bin/u-config', '755', '$outdir/u-config')
     34 sym('bin/pkg-config', 'u-config')
     35 man({'u-config.1'})
     36 
     37 fetch('git')