Commit Graph

147 Commits

Author SHA1 Message Date
ru
6bcbb62f6a The second chdir(1) that I trimmed is needed too
if the program has an object directory.

Explained by:	Tim Kientzle <kientzle@acm.org>
2003-04-23 04:28:35 +00:00
ru
2788f60153 chdir(1) into a source directory before attempting to determine the
OBJS list.  This is needed to crunch any program that relies on the
correct .CURDIR setting, e.g. src/bin/csh.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-04-22 14:01:33 +00:00
obrien
2b9574f51a Back out the totally unapproved backout of my commits. 2003-03-29 03:03:42 +00:00
ru
b90d854c5f Complete the endianness support -- sparc64 can now do i386.
Tested on:	sparc64 -> i386, i386 -> sparc64
Debugged by:	elfdump(1)
2003-03-13 11:47:31 +00:00
ru
749b58d851 Part 1/3 of unbreaking cross releases:
Back out the removal of custom version of endian.h system header.
On recent systems, it just falls back to <sys/endian.h>.  But on
older systems like 5.0-DP1 or 4-STABLE, this private version may
be necessary, as crunchide(1) is a cross-tool for "make release".

Spotted by:	kris, markm
2003-01-29 08:37:26 +00:00
obrien
88d4214ecf Use <sys/endian.h> rather than a private verison.
Tested on:	sparc64, Athlon[32]
2002-12-30 10:04:46 +00:00
ru
f056bc6c16 Bootstrapping aid for 4.0-RELEASE. 2002-11-13 11:50:40 +00:00
charnier
f44a1f4408 Put author name under .An/Aq. 2002-10-16 15:51:16 +00:00
gshapiro
87f7a8db5e Apply the envp fix to the other call to main() as well.
Submitted by:	Peter Edwards <pmedwards@eircom.net>
2002-08-09 02:39:38 +00:00
gshapiro
ce61bcc930 Pass envp to crunched program's main() routines as some depend on it.
Note that crunchgen's stub .c programs already have the code to use it:

	    "int _crunched_%s_stub(int argc, char **argv, char **envp)"
	    "{return main(argc,argv,envp);}\" >%s_stub.c\n",

Add $FreeBSD$ to allow the commit.

Reviewed by:	luigi
MFC after:	3 days
2002-08-04 22:14:44 +00:00
ru
395bccbe7f mdoc(7) police: markup nit. 2002-05-30 07:51:22 +00:00
ru
4eb7a2371e Get all the fruit from makefile. 2002-05-25 13:39:20 +00:00
ru
ed88070398 Removed dead code. 2002-05-24 06:30:07 +00:00
ru
3d4d4bf652 Handle endianness. This completes cross-support for sparc64. 2002-05-24 06:24:40 +00:00
ru
1e6750c005 Added support for ia64 and sparc64. 2002-05-21 15:36:29 +00:00
ru
d2cb56e26c Make crunchide(1) a cross-tool; needed for cross-arch "make release".
Note that a.out is only supported for the non-cross i386 case.
2002-04-30 09:34:53 +00:00
des
4d6b787d2d Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
2002-04-22 13:44:47 +00:00
charnier
fdbc3fd42a Use `The .Nm utility' 2002-04-20 12:27:18 +00:00
luigi
de9ccb62a4 Add a "special progname lib xxx ..." command to crunchgen
so the .lo files can be partially linked against libraries
which redefine symbols in the standard libs, or which reference
symbols in the objects.

Submitted by: Sam Leffler
MFC After: 3 days
2002-03-30 16:48:30 +00:00
peter
f3a4628bcc ia64 support. Hide a.out support solely under i386. While alpha never
was released in a.out form, it does define the a.out data structures.
The ia64 port does not.
2001-10-23 10:18:41 +00:00
joe
cd7a777b74 Make source crunches work as well as object crunches; broken in the
last commit that fixed object crunches.

Repeat after me, "no excuses for not testing".
2001-08-17 11:11:10 +00:00
joe
839c5a1332 Make crunchgen crunch pre-built object files again, i.e.:
progs prog1
    special prog1 objdir ../../prog1/obj
    special prog1 objs prog1.o

This fixes a bug that I introduced around the time of 4.2-release.

Reported by:	Larry Baird <lab@gta.com>
2001-08-15 14:37:26 +00:00
ru
24c7b0a61d mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
obrien
be022bb715 Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
joe
cfd6d3b0f9 Use 'LIBS+= ...' instead of 'LIBS= ...' in the generated makefile
so that the user can override libraries at build time.  This is
makes it easier to cross-compile crunch builds.

Suggested by:	luigi
MFC after:	3 days
2001-06-20 23:21:02 +00:00
ru
9372226a6c mount_msdos(8) -> mount_msdosfs(8). 2001-06-01 11:25:40 +00:00
ru
79f2c51981 mount_fdesc -> mount_fdescfs
mount_portal -> mount_portalfs
2001-05-24 13:23:54 +00:00
obrien
538e761e02 * include/elf.h has been repo copied to include/elf-hints.h, and it no
longer includes machine/elf.h.
* consumers of elf.h now use the minimalist elf header possible.

This change is motivated by Binutils 2.11.0 and too much clashing over
our base elf headers and the Binutils elf headers.
2001-05-02 23:56:21 +00:00
ru
0df69b81ab Document ``special <progname> ident <identifier>'' command. 2001-04-04 08:28:00 +00:00
ru
df79f208d7 - Call subclean' after clean' for each program.
- Eliminate compiler warning.
2001-04-04 08:26:54 +00:00
ru
b83dc0f648 `buildopts' may affect the selection of object files.
Make sure we pass $(BUILDOPTS) to the `clean' target
so that `make clean' works on the same set of object
files.  Otherwise, we may end up with an incorrectly
built and up-to-date object file.
2001-03-30 08:04:25 +00:00
joe
92c29403ab Liberal application of style(9). 2001-01-10 14:08:48 +00:00
joe
73275f90e1 Flag an error and remove the program from the list if there is
no source directory or no objects can be determined.

Initialise a structure variable.
2001-01-10 13:27:38 +00:00
des
4b9504e071 Retire kernfs (userland part). 2000-12-28 12:59:57 +00:00
joe
60930484fc Clean up the source directory finding code, and in the process fix a
problem that occurs when a program's source isn't found.
2000-12-24 12:21:15 +00:00
joe
0449442242 Use one of the TMPDIR env variable or _PATH_TMP instead of hardcoding
/tmp.

Submitted by:	jedgar
2000-12-17 19:49:07 +00:00
joe
651ae8ea0f Avoid potential problems with the existance of a shadow obj directory
confusing the 'make -f tmpfile' in the tmpfile, by creating it in /tmp.
2000-12-17 17:07:40 +00:00
joe
8ec6857b99 Clarify an ambiguous 'else' introduced by a recent commit. 2000-12-17 17:03:05 +00:00
joe
702e01fe1e o check strdup() return values
o strcpy() -> strlcpy()
o sprintf() -> snprintf()
o mktemp() -> mkstemp()
o use err() instead of errx() in out_of_memory() function since
  errno will probably be set

Submitted by:	jedgar
2000-12-17 16:51:00 +00:00
joe
8112d68767 Hopefully the last patch in a series to try and teach crunchgen to
handle MAKEOBJDIRPREFIX better, in conjunction with the -o and -p
flags.
2000-12-17 16:13:23 +00:00
ru
08eda6b2ec mdoc(7) police: fixed errors from the previous revision, keep
the synopsis in a nice form, and a few more cosmetic changes.
2000-12-01 08:17:15 +00:00
luigi
ddef5da232 Make crunchgen aware of obj directories. Formerly it had
/usr/obj hardwired in the code, now you can override it
with a command line option or MAKEOBJDIRPREFIX env. variable.
The above is useful to build picobsd-specific objects in some other
place than /usr/obj

While at it, fix documentation and change a few sprintf -> snprintf.
2000-11-30 21:14:54 +00:00
ru
71e2293ad4 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
ru
eb8c554f56 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
ru
a620406064 mdoc(7)ify. 2000-11-16 13:21:17 +00:00
joe
05dff2fbdf Add and document a new configuration command: buildopts.
This allows global make options to be specified within the crunch
configuration file.
2000-11-15 14:33:29 +00:00
ru
a6f5d950d8 Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
joe
0797349d74 Define a new special type: buildopts.
This allows build flags to be specified for a particular program from
within the crunch.conf file, eg:

	prog ppp
	special ppp buildopts -DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM

This adds '-DNOKLDLOAD -DNOINET6 -DNONAT -DNOATM' to make targets
related to ppp when determining which object files to build and
when calculating dependencies and building the targets.
2000-11-10 15:21:37 +00:00
steve
de869208f6 Since the 'when built' phrase is talking about the 'source file' we
should be using the word 'creates' instead.
2000-11-09 02:31:02 +00:00
joe
78809b1a0a Cause prog_make targets to include a ``make obj'' rule if the -o flag
is given to crunchgen.
[ This fixes the previous commit which silently added ``make obj'' ]
2000-11-03 15:48:58 +00:00
joe
a39072b06d A missing feature of crunchgen was the ability to supply make options on
a per program basis.

This has now been added in the following way:

* Harness the make header file that's specified with the -h argument:
  - Allow the user to define $(OPTS) to specify make arguments that should
    be added to every program target.
  - Allow the user to define $(prog_OPTS) to specify make arguments that
    should just be added to the build of 'prog'.

* Make sure that $(OPTS) and $(prog_OPTS) are defined when looking through
  each program's make file to determine which object files to crunch.

* When building the crunchgen makefile add $(OPTS) and $(prog_OPTS)
  to the depend and build rules for $(prog_OBJS).
2000-11-03 15:35:27 +00:00
grog
fb570e69fa Add the description of some hard-learnt restrictions and a workaround. 2000-08-28 05:47:05 +00:00
sheldonh
b2240fc1c0 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
luigi
de5e1b620a Add a few features to crunchgen to simplify the use of existing
makefiles (for use with picobsd among other things).
See the manpage for details, but:

  * -h makefile-include-name
        can be used to specify a file to include in the makefiles
        generated by crunchgen . This is a good place to specify make
        variables such as RELEASE_CRUNCH, NOTHIS, NOTHAT and the like.

  * special progname objvar variable_name
        in the crunch config file declares a different variable than
        OBJS to be used to get the list of objects.

  * crunchgen now looks first for Makefile.<progname> in the current
    directory to override the makefile in <progname> source dir.
    This in many cases avoids the need to patch the original makefile
    if the above two features are still not enough.

Approved-By: jordan
2000-02-05 10:29:19 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
nik
559bbb333e Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:12:29 +00:00
jkh
98f9e88894 Temporary use different stubs for the ECOFF case; I'm trying to get this
to build on the alpha, first off.
1998-10-02 11:30:07 +00:00
jhay
1bfc1a72e6 Update the man page to match the rest of crunchide. 1998-09-16 09:26:14 +00:00
jkh
a4969a17ca Teach crunch about an elf/a.out world.
Submitted by:	jhay
1998-09-14 11:35:32 +00:00
jkh
e7f0dcd137 Assume ELF-style symbol names now.
Submitted by:	jhay
1998-09-14 11:33:38 +00:00
charnier
6e321f37d4 .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
sos
e22d07fc0f Use /bin/pwd instead of a potentially shell builtin that does
not return the "real" path.
This makes it possible to have the .o files put in the /usr/obj
hierachy instead of in the /usr/src one.
1998-01-22 19:34:31 +00:00
brian
c73933598a Remove the necessity of -ldes and -lalias etc from release/Makefile.
When building a release, RELEASE_CRUNCH is defined for a `make' of
the objects required by the crunch of each program.  The object list
is still obtained in the same way, so you must make sure that all
objects are built (empty if necessary) by this make.  ppp/Makefile
provides an example.

Reviewed by: jkh
1998-01-17 14:21:21 +00:00
joerg
f94dc5b1f1 Add a new special called `keep' to the list of special options. It
provides for a means to specify an argument for crunchide's -k option.
(This is required by ntpdate.)

Submitted by:	peter@rhiannon.clari.net.au (Peter Hawkins)
1997-10-05 13:35:05 +00:00
charnier
99550d450c Use err(3). 1997-09-15 06:41:09 +00:00
wosch
fde8a8ec46 spelling corrections.
PR: docs/4450
Submitted by: josh@quick.net
1997-09-13 16:01:53 +00:00
jmg
a5a475a202 fix misspelling
Submitted-by: Josh Gilliam

Closes PR:4423
1997-08-30 11:04:03 +00:00
imp
691010efad compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
peter
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
joerg
ddd4c56592 Initialize memory obtained by malloc().
Detected by: phkmalloc -AJ
1996-11-16 22:49:02 +00:00
phk
c6caa4699e Enhance crunchgens understanding of our new /usr/obj/pwd strategy. 1996-08-04 20:38:53 +00:00
phk
f62903a803 Make crunchgen match the new obj/ convention. 1996-07-15 11:20:21 +00:00
bde
34b72c7bcc Removed -g from CFLAGS. 1996-06-23 13:11:59 +00:00
peter
c3f352d4ad This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.
1995-12-30 19:02:48 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
phk
54abfae1de Added a crunched_here(char *path) function so crunched programs can find out
who they share bed and breakfast with.
1995-05-21 01:50:13 +00:00
rgrimes
f415486037 Need /usr/src/sbin/i386 in srcdirs to get fdisk. 1995-03-10 08:36:19 +00:00
phk
772857231b Add a '-l' option, which lists the argv[0]'s we will respond to. This will
simplify the src/release Makefile quite a bit.
1995-02-25 07:25:31 +00:00
jkh
d3e71d8754 Fix:
>Number:         86
>Category:       misc
>Synopsis:       fixit.conf missing srcdir
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    core (FreeBSD core team)

From John Capo.
Submitted by:	jcapo
1994-12-31 05:36:40 +00:00
ats
1d17aa50e6 Add the automatically generated crunched_skel.c file to the CLEANFILES. 1994-11-28 11:46:37 +00:00
jkh
927adb8ecc From: Michael Reifenberger <root@rz-wb.fh-sw.de>
Could you please commit this patch to usr.sbin/crunch/examples ?
This should make fixit.conf compilable again.
VI needs some hacks.

[Note:  I'm not sure how relevant this example is anymore, but then it's only
an example]
Submitted by:	mr
1994-10-26 14:52:43 +00:00
ache
2abeb4bc8b -lcompat removed from libs 1994-10-04 14:06:13 +00:00
phk
fe775f9c7a Make sure mkskel.sh bails out if it finds trouble. Use "sh -e" to run it. 1994-10-03 23:34:03 +00:00
rgrimes
3aa5610ea0 Correct the .conf files now that halt is gone and reboot is used in it's
place.

Removed mount_pcfs until we have a replacement.

Removed fdisk until it is ported and/or replaced.

Now have to include many more libraries due to /bin/sh changes.
1994-09-09 16:02:04 +00:00
jkh
91868e9c76 Add proper links so that - and -sh are catered for. 1994-06-24 16:39:30 +00:00
jkh
f99332c315 Just talked with James - there's another, better way to go about this.
Back out my earlier change.  Note that this is just for the 1.1.5R floppies;
the 1.1.5A ones still have the work-around method (which works fine and
doesn't hurt anything, it's just kludge!).
1994-06-24 15:14:16 +00:00
jkh
0f0bd55364 This is a kludge. Unless I make a link from sh to - (which would leave a file
called `-' lying around on the users system forever) login shells will fail.
Just special-case the handling of `-' for now until/unless I find a more
palatable solution.
1994-06-24 14:32:36 +00:00
jkh
533f9f3420 Remove bogus -lcrypt line. 1994-06-19 20:39:30 +00:00
jkh
1cb6981799 John Capo's changes to make the fixit floppy image work; I didn't even
bother looking at this file before! :)
1994-06-16 20:13:11 +00:00
jkh
6cf06a9a36 Whoops, missed the .cache files - those can be tossed too. 1994-06-15 21:19:59 +00:00
jkh
3c0f2a6ccb Nuke all the intermediate files. 1994-06-15 21:19:23 +00:00
jkh
9de44e8c43 1. Clean the intermediate files when building the default fixit floppy
(demonstration) target.
2. Add the kcopy and filesystem floppy configuration files from Rod.
1994-06-15 10:49:34 +00:00
jkh
39d03206f4 This is the new crunch utility for making distribution floppies from
James da Silva.  We need to integrate this before 1.1.5 so that we can
actually make the boot floppies.
1994-06-15 10:33:49 +00:00