Commit Graph

76 Commits

Author SHA1 Message Date
cegger a12917370a Fix syntax error on OSX 10.5.
While here, simplify handling with OPTARG using IFS.

developped with and 'go for it' dsl@
2009-12-05 15:56:25 +00:00
uebayasi d166c4bf28 Support "extsrc", externally added programs and libraries. Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org.  (These sets are not included as TNF releases.)
2009-11-30 16:13:22 +00:00
apb 267577ae49 Use "$*", not "$@", where we want a space-separated list of words. 2006-01-04 13:40:23 +00:00
apb 0bee96eab7 Ensure that (almost) all shell variables in distrib/sets/* scripts are
used with curly braces and quotes, as in "${var}".

Also ensure that command substitution is quoted, as in "$(command)", and
convert `command` to $(command).

Reviewed by agc
2006-01-03 18:31:09 +00:00
apb 3a0b541193 Add shell variables defined in sets.subr for almost all commands used
by scripts in distrib/sets/*.  This is intended to be useful when cross
building.  Only trivial commands like echo, cat, and rm are excluded
from this treatment.

While I am here, make ${MTREE} and ${DB} follow the pattern used by most
other such variables.

Reviewed by agc.
2006-01-03 16:40:16 +00:00
erh 10d0173282 Make all the sets scripts work even when not run from the directory that
they reside in.
Change any uses of dirname to use shell variable substitution instead.
2004-07-23 15:11:26 +00:00
lukem c07378c709 implement -l, to list the selected set names rather than the contents 2004-01-08 01:15:25 +00:00
lukem 0c014a7868 optimise invocation of list_set_files() 2004-01-03 12:17:31 +00:00
lukem 6f9a1982b5 rename all the <bsd.own.mk> derived variables to uppercase, and export
them to the environment.
2004-01-03 02:38:58 +00:00
lukem b852db83fb Significant overhaul of how the sets are used:
* Add an optional third field to the sets file which is a list of
  comma separated keywords that control if the line is printed.
  Currently supported keywords
	kerberos4	${MKKERBEROS4} != no
	kerberos	${MKKERBEROS} != no
	lint		${MKLINT} != no
	obsolete	${obsolete} != 0.
			In this case, non obsolete files are not printed.
  (This will allow future support for builds with variables such as
  MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
  various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
  Move replicated code for determining stuff such as shlibs type
  from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
  main lists with the relevant third field keyword(s).
2003-12-29 03:13:25 +00:00
jmc 62fcaffaa9 Redo creation of sets/sums so this can be parallelized if using -j.
Suggested in PR#20115 and PR#20116
2003-12-19 22:25:53 +00:00
dyoung 17b5668ccd Factor duplicated code for setting variables such as machine_cpu
and machine_arch to their defaults into sets.defaults, and source
it at the top of each script.

Also, to be consistent with variable naming, s/arch/machine_arch/.

sets.defaults introduces two new variables, krb and krb4, which
will affect whether Kerberos- or Kerberos IV-only files are put
into the set lists.
2003-11-25 07:19:46 +00:00
tron aca1b74ca0 Backout last change, it's not necessary. 2003-09-21 19:33:59 +00:00
tron b02749036c Fix sets handling so that GCC specific lists are really used. 2003-09-21 19:26:02 +00:00
mrg 9347d6de64 add initial support for gcc3 2003-08-04 05:53:20 +00:00
dyoung 2a44e65d9c Don't duplicate code for listing sets used by makeplist, regpkg.
Instead, use the routine in sets.subr.
2003-06-23 09:18:45 +00:00
thorpej 01017edd1b Check if md.${MACHINE}.${MACHINE_ARCH} exists and prefer it over
md.${MACHINE}.
2003-05-26 15:42:34 +00:00
he dace8f1df0 Do not try to build LKMs on evbppc, because we cannot predetermine
the PPC_INTR_IMPL, which is used to include a file in <machine/intr.h>.
To allow evbppc to complete a ``make release'', we also need to
factor out the LKM files to a new set list file, and tweak makeflist
to not include this file for evbppc.

Discussed with Matt Thomas.
2003-03-15 22:32:07 +00:00
simonb 7176940e72 Enable MIPS now that crunchgen works again for this arch. 2003-01-29 11:32:45 +00:00
fvdl ec2d95a2ad Remove conditional for x86_64 to not include lintlibs, they're ok now. 2002-12-10 22:00:56 +00:00
lukem 62148d5f92 use ${make} instead of ${MAKE} in the shell scripts, to prevent weird
lossage with the modified ${MAKE} getting passed to child make's
2002-11-26 06:22:22 +00:00
lukem 8fa5df2d2d explicitly add " -f `dirname $0`/Makefile " to ${MAKE}, so that
these scripts do not need to be run from this directory in order
to function correctly
2002-11-25 23:29:54 +00:00
briggs 2cc2b9cde2 Some systems/shells have difficulty if the closing ] of a test does not have
preceding whitespace.  Ensure that there is whitespace.
2002-10-10 20:46:39 +00:00
thorpej b8c378293f * Clean up the handling of rescue.* files makeflist.
* Move all md.* and ad.* /rescue/... files into their
  own list files.
2002-10-09 01:22:37 +00:00
thorpej 7d588a758e * Move the rescue bits into their own file.
* In makeflist, skip rescue bits in arch's that don't yet support it
  (MIPS, currently, due to an objcopy-crunch bug).
2002-10-06 17:28:46 +00:00
lukem 94989d34ca switch from checking USE_NEW_TOOLCHAIN == yes to TOOLCHAIN_MISSING != yes,
and don't bother with tc.old any more
2002-09-19 22:04:34 +00:00
thorpej 9aa60a9f15 If ad.${machine_arch} exists, perfer it over ad.${machine_cpu},
because it will have more specific information.
2002-08-10 02:01:00 +00:00
lukem c64952588e set MAKE="${MAKE:-make} -j 1" to prevent problems where the output
of make -j N>1 would result in junk in various shell variables
2002-07-23 09:02:45 +00:00
fredette 9090c61c66 Added support for ad.${machine_cpu}.shl listfiles. These list
architecture-dependent files that are present when shared libraries are in use.
2002-07-17 23:34:20 +00:00
nathanw 004890f326 cat the tc.shl setlist, instead of trying to run it. 2002-05-06 23:38:47 +00:00
thorpej ff8e73ad35 Not all new-toolchain platforms support shared libraries (m68000 and
sh3, for example, due to defincencies in the current compiler version).

Deal with this by splitting toolchain shlibs into tc.shl, and teachking
makeflist about it.

Also, fix an old-toolchain remnant in the sh3 set lists.
2002-05-05 01:24:24 +00:00
wiz b0435b05cd According to thorpej, only x86_64 doesn't provide lint files now.
Remove corresponding conditionals for sparc64, m68000, and sh3, and
add one for x86_64.
2002-05-02 15:59:10 +00:00
tron 7547e52684 Solve problem with with XFree86 3.3.6/4.x set "maketars" differently:
We don't want e.g. a seperate "xbase.tgz" and "xbase3.tgz" but one
combined archive.
2002-04-08 17:18:22 +00:00
fredette cbc8e60f5f Added support for stl.mi and a stl.${objfmt} files for each set,
which respectively contain MI and objfmt-specific things associated
with static libraries.  Useful for systems that don't have shared
libraries.  Currently only used by lists/comp/stl.elf.
2002-03-26 22:58:17 +00:00
lukem 2d86ced5d9 " egrep ... | awk" can be replaced by a smarter bit of awk... 2002-02-27 10:42:55 +00:00
tron 24a6d142c3 First step of supporting XFree86 4.x binary sets:
- Recognize version dependent X11 lists files.
- Move all files which only belong to XFree86 3.3.6 in lists for version 3.
2002-02-11 16:23:17 +00:00
thorpej acf28d4b8c Oversight in last. 2001-11-24 03:06:17 +00:00
thorpej b98949efa8 Use the logic in bsd.own.mk to figure out the toolchain format,
and to convert MACHINE_ARCH to a CPU.  Make this cross-build
friendly by specifying MACHINE, MACHINE_ARCH, and MAKE in the
makeflist/checkflist environment.
2001-11-24 02:54:50 +00:00
tv 8d6c6077ed The test for USE_NEW_TOOLCHAIN is based on the variable being *set*, not
a comparison of its value.  Instead, use ${USE_NEW_TOOLCHAIN:Dyes} and
change the if block back to [ ... = "yes" ].
2001-11-19 20:43:33 +00:00
jmc dabfb112ea Change to check for nowarn instead of yes as USE_NEW_TOOLCHAIN changed formats
in bsd.own.mk.
Also, change the make line to use
2001-11-19 06:08:01 +00:00
jmc 6289ed7a3e Change sets so the differing toolchain bits only (not the complete toolchain
at the moment) are pulled out into tc.mi and tc.old files.

tc.mi has any files which are in the new toolchain only and tc.old contains
the reverse (files which only existed in the old toolchain). The remainder
of the toolchain that is common between both old and new is still contained
in the various mi/md files.

Check for USE_NEW_TOOLCHAIN=yes in makeflist to determine which tc files to
pull in if they exist.

XXX - All the toolchain bits should eventually be pulled out into separate
lists as tc.mi and tc.<arch>. Leaving it for now until the new toolchain is
fully integrated on all ports.
2001-10-20 06:11:21 +00:00
thomas 623e0e4979 Atari now has ELF shared libs. 2001-09-08 11:09:26 +00:00
chs 7cffe4c898 switch cesfic to ELF. 2001-08-25 18:39:24 +00:00
mrg 8f8875394a add support for ports that do not (can not) build lint libraries. 2001-08-19 13:15:18 +00:00
chs bef49778fd next68k is now ELF. 2001-05-12 22:38:04 +00:00
tsutsui 8c01e8025d Switch news68k to ELF:
- Set shlib=elf on news68k
2001-03-19 17:02:53 +00:00
chs 7408da7619 sun3 now uses ELF. 2001-02-22 07:12:55 +00:00
jwise 1480bd07cc Kill package field much more efficiently when creating flists from set lists. 2001-01-17 06:28:12 +00:00
itojun 56d8774587 sh3e[bl] -> sh3.
sh3 has no shlib yet.
2001-01-04 11:15:32 +00:00
simonb f823c0808d Add hp300 to the increasingly ugly `Compute toolchain' test. 2001-01-02 12:22:39 +00:00