home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
utility
/
cli
/
tar_patc.lzh
/
Tar
/
doc
/
PORTING
< prev
next >
Wrap
Text File
|
1991-03-20
|
3KB
|
58 lines
Porting hints for public domain tar
John Gilmore, ihnp4!hoptoad!gnu
@(#)PORTING 1.13 87/11/11
The Makefile should be edited to comment out all the undesired
versions, and create the following configuration lines for the system
you are compiling it on:
DEFS = the proper #define's to conditionally compile for your system.
LIBS = the system libraries and/or object modules to link with the program.
LINT = the lint program (or the compiler with extra checking turned on)
LINTFLAGS = a good strong way to invoke 'lint' on your system.
DEF_AR_FILE = the name of the default archive file on your system.
It should be enclosed in quoted quotes, e.g. \"/dev/foo\" .
DEFBLOCKING = the default blocking factor on your system.
O = the suffix for object files ('o', except 'obj' for MSDOS).
A copy of "getopt", the standard argument parser, is required. It's in
libc on Missed'em V systems and 4.3BSD; on most other systems, you'll
need a copy of a public domain getopt, available through the
comp.sources.unix archives, or from the AT&T Toolchest if you can't
find it elsewhere.
A copy of the Berkeley directory access routines is also required.
These are in libc and <sys/dir.h> on Berkeley systems. A public domain
version is available through comp.sources.unix. There is an #include
you have to change in create.c for this, to set the name of the include
file you have. Some systems have the include file in <sys/ndir.h>.
You'll have to find it on your system, or get the public domain one and
place it somewhere. For MSDOS, I have supplied these directory
routines in msd_dir.c and msd_dir.h, since it's likely that your system
doesn't have them. To permanently install these into your MSC 3.0
library, do the following:
copy msd_dir.h c:\c\include\sys\dir.h
cl -A$(MODEL) -c msd_dir.c
lib $(MODEL)dir.lib msd_dir.obj;
Change c:\c\include to wherever your standard include directory is.
You might have to modify this procedure if you aren't using MSC 3.0.
Grep for FIXME to find places that aren't finished or which have
portability problems. Also see the file TODO.
The MSDOS port was done under the Microsoft C 3.0 compiler and
libraries. In the Makefile, COPTS should be changed to -Zi or nothing;
and there is a special link command for making tar.exe, which you will
have to uncomment, since MSDOS can't handle command lines longer than
128 bytes. Also, clean and install will not work unless you change
/ in path names to \.
On Minix, there are a bunch of problems. "V7 compatible" my ass.
* "make" doesn't expand macros in the Makefile properly. You will
probably have to expand them by hand. Better to go in and fix Minix
"make" though...
* The directory access library is nonexistent. It wasn't in V7 but
anybody who writes code without it, even on V7 systems, is a fool.
* Various other library routines are broken, e.g. printf() doesn't take
"%*s" or "%.*s"; no <sys/types.h> which Unix requires, ctime(), getopt().