Over the years I have ported many unix utilities using DJGPP development system. The comments are extracted from the README file or MAN page, which is included with the source file.
If you are a programmer like me and who likes to automate things. These pages are maintained using common unix utils. I have explained briefly about managing the homepage using M4 Macroprocessor in here.
![]()
1. AGREP version 2.04
AGREP an approximate grep, is a powerful tool for fast searching a file or many files
for a string or regular expression,
with approximate matching capabilities and user-definable records. It was developed 1989-1991 by
Udi Manber and Sun Wu at the University of Arizona and many others.
AGREP is similar to egrep (or grep or fgrep), but it is much more general and usually faster.
Distribution:
ftp://ftp.cs.arizona.edu/agrep/agrep-2.04.tar.Z
Compiling:
Compiles out of the box.
usage:
This is the DOS batch file agreplist.bat I use to create a list of files.
The list of files will be stored in dir.lst
@ECHO OFF
@REM Shankar Chakkere 5/30/2000
@REM This batch file will create a list file to be used with agrep
@REM usage agreplist filetype > dir.lst
@IF "%1:" == ":" GOTO help
@rem 12/11/2001 modified to accept multiple file spec
:again
@IF "%1:" == ":" GOTO done
@dir /b/s/a-d/-l/-p %1 >> dir.lst
shift
goto again
:done
@ECHO The directory list is in the file dir.lst
@ECHO To use this list file with agrep
@ECHO AGREP find-this @dir.lst
GOTO exit
:help
@ECHO USAGE: %0 dir\file
@ECHO Eg. %0 \usr\shankar\*.c ..\*.h
@ECHO The directory list will be in the file dir.lst
:exit
agreplist *.c *.h *.inc
agrep -i display @dir.lst
2. rgrep version 1.6
rgrep, a recursive, highlighting grep program.
Unlike grep and egrep, rgrep has the ability to recursively descend directories.
rgrep is part of JED editor.
Note:
GNU grep can descend directories recursively with -r option, but it searches all the files. You have to use with find & xargs to search for a particular file type. Examples from GNU document.
grep -r 'hello' /home/gigi searches for hello in all files under the directory home/gigi. For more control of which files are searched, use find, grep and xargs. For example, the following command searches only C files: find /home/gigi -name '*.c' -print | xargs grep 'hello' /dev/null This differs from the command: grep -r 'hello' *.c which merely looks for hello in all files in the current directory whose names end in .c. Here the -r is probably unnecessary, as recursion occurs only in the unlikely event that one of .c files is a directory
Distribution:
Compiling:
Compiles out of the box.
usage:
from the man pages.
Look in all files with a 'c' extension in current directory and all its subdirectories looking for matches of
'int ' at the beginning of a line, printing the line containing the match with its line number: (two methods)
rgrep -n -R '*.c' '^int '
rgrep -n -x c '^int '
Search through all files EXCEPT .o and .a file below /usr/src/linux looking for the string 'mouse' without regard to case:
rgrep -i -R '*.[^ao]' mouse /usr/src/linux
3. Giftrans
GIFtrans v1.12.2 Convert any GIF file into a GIF89a.
Allows for setting the transparent or background color, changing colors,
adding or removing comments. Also code to analyze GIF contents.
Distribution:
ftp://ftp.rz.uni-karlsruhe.de/pub/net/www/tools/
You need to download giftrans.c and rgb.txt files.
I created the following Makefile to compile. Define the RGBTXT to point to rgb.txt in your system
#Shankar Chakkere 6/19/2000
OPTS=
CC= gcc
# Shankar 2/11/2002 CFLAG= -O2
CFLAG= -O2 -UMSDOS -DRGBTXT="/djgpp/lib/rgb.txt"
CFLAGS= $(OPTS) $(CFLAG)
#giftrans.exe
giftrans.exe: giftrans.c
$(CC) $(CFLAGS) -o giftrans giftrans.c
clean:
rm -f *.o *.obj
Compiling:
Compiles without a hitch.
4. ROBODoc Version 3.1e
ROBODoc extracts specially formatted documentation from the source code.
It allows you to maintain a program and its documentation in a single
file.
ROBODoc works with many programming languages: For instance C, Pascal, Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++, Java -- basically any program in which you can use remarks/comments.
Distribution:
http://www.xs4all.nl/~rfsber/Robo/
Compiling:
Compiles out of the box.
5. Ytree
ytree-1.70 is a DOS-XTREE(tm) like file manager.
Distribution:
ftp://sunsite.unc.edu /pub/Linux/utils/file/managers
http://www.han.de/~werner/ytree.html
Compiling:
Ytree needs pdcurses library.
Note:
View option needs PAGER environment variable to be set.
6. mkmf Version 4.11
mkmf -- make Makefile -- a Makefile generator. Creates program and library makefiles for the make command.
Distribution:
http://www.netsw.org/softeng/versioncontrol/control/make/mkmf-4.11.tar.gz
Compiling:
Add the following function in file: mksymlink.c:71
#if __DJGPP__
int readlink (char *path, char *buf, int bufsiz)
{
/* DOS dosen't have symbolic links in the UNIX sense */
return -1;
}
Modify the following defines in the root Makefile
INSTALLDIR = /djgpp
SHELL = /djgpp/bin/bash
~/develop/mkmf-4.11/makeCreates the mkmf executable in the src directory
Using:
copy contents of templates directory to /djgpp/lib/mkmf directory.
~/develop/mkmf-4.11 > mkdir /djgpp/lib/mkmf ~/develop/mkmf-4.11 > cp templates/* /djgpp/lib/mkmf/To create a Makefile using mkmf.
~/develop/zodiac > mkmf CFLAGS=-I/djgpp/include mkmf: creating Makefile from /djgpp/lib/mkmf/C.p
7. Hexedit Version 0.9.3
Hexedit is a full screen text mode Hex editor using the curses library.
Distribution:
http://www.rogoyski.com/adam/programs/
Compiling:
bash configure make
Modified SHELL and prefix in the Makefile in docs/, gnu/ and src/ directory. Also added LIBS = -lpdcurses since djgpp has pdcurses instead of curses library.
file: init.c:553
#ifndef __DJGPP__
sig_a.sa_flags = SA_NODEFER;
#else
sig_a.sa_flags = 1;
#endif
file: hexkeys.c
In function void hexMode (wchar_t in)
/*
* Shankar Chakkere added this for exit 2/7/2002
*/
case CONTROL_C:
exitProgram();
break;
file: asciikey.c
In function void asciiMode (wchar_t in)
/*
* Shankar Chakkere added this for exit 2/7/2002
*/
case CONTROL_C:
exitProgram();
break;
8. Ref / Elvis Version 2.1_4
ref quickly locates and displays the header of a function.
To do this, ref looks in the "tags" file for the line that
describes the function, and then scans the source file for
the function. When it locates the function, it displays
an introductory comment (if there is one), the function's
declaration, and the declarations of all arguments.
ref is distributed along with elvis the vi clone.
Distribution:
ftp://ftp.cs.pdx.edu/pub/elvis
Compiling:
bash configure make ref
Note:
You can use the TAGS file created by exuberant ctags
which comes with vim or create one by
make ctags
command.
Using:
ref -c prints the function definition without introductory comments. I exploited this feature to generate hints, the VIM script. The hints when sourced to C file you are editing, will display the function name header on the information. I got this idea from Dr Chip's Vim Page.
The script to generate hints
#!/bin/sh
# This script will generate the hint file to be used with vim.
# The hint file is a VIM script which when sourced with the current C file you are editing,
# will print the function prototype on the VIM information line when you type in that function.
# Got the idea from Dr. Chip's [ http://users.erols.com/astronaut/vim/] flist program.
# This shell script duplicates what flist -h does.
# Usage:
# 1. Generate tags file using ctags
# 2. Create the hints file using vimhint (this file) > hints
# 3. Source hints into your editing ( :so hints ) file
# or
# put the following code into your <.vimrc> for automatic
# sourcing of hints:
#
# if filereadable(expand("hints"))
# au BufNewFile,BufReadPost *.c,*.C,*.cpp,*.CPP,*.cxx so hints
Every time you type a function name, a prototype for it will appear on the information line.
If you don't see it, you should set your cmdheight to 2 or more (:set ch=2)
9. makedepend
makedepend creates dependencies in makefiles. Makefiles reads each
sourcefile in sequence and parses it like a C-preprocessor, processing all
#include, #define, #undef, #ifdef, #ifndef, #endif, #if, #elif & #elsedirectives so that it can correctly tell which #include directives would be used in a compilation.
Distribution:
Click google to locate the source directory. I downloaded all the files in that directory and imakemdep.h from imake directory.
Compiling:
Created Makefile
.SUFFIXES= .o .c .h
CC=gcc
OBJS= cppsetup.o ifparser.o include.o main.o parse.o pr.o
CFLAGS=-g -O2 -DINCLUDEDIR=\"/djgpp/include\" -D__EMX__ -DOBJSUFFIX=\".o\"
.c.o:
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
makedepend: $(OBJS)
$(CC) -o makedepend $(OBJS)
clean:
rm -f *.o makedepend makedepend.exe
Made the following changes.
file : def.h:43
#if __DJGPP__
#include "Xos.h"
#include "Xfuncproto.h"
#endif
~/develop/makedepend > make
Creates the executable.
10. Antiword Version 0.30
AntiWord is an application to display Microsoft Word files on non-MS OS OS machines.
Distribution:
http://www.winfield.demon.nl/index.html
Compiling: This program compiles under DJGPP V2 without a hitch using
make -f makefile.linux
command
11. cscope
For more details visit my cscope page
12. hex2bin mot2bin
Intel/Motorola Hex file format to binary converter.
Distribution:
ftp://metalab.unc.edu/pub/Linux/devel/lang/assemblers/
Compiling:
Compiles out of the box
Bug fix:
The code interprets 0x0a in hex file as LF and puts it as 0x0d 0x0a in the binary file.
file: mot2bin.c and hex2bin.c
In function void NoFailOpenOutputFile (char *Flnm)
make the following modification.
#ifndef __DJGPP__
while ((Filout = fopen(Flnm,"w")) == NULL)
#else
while ((Filout = fopen(Flnm,"w+b")) == NULL)
#endif
13. bcpp
C(++) Beautifier V1.9
Distribution:
http://dickey.his.com/bcpp/bcpp.html
Compiling:
cd code
make
builds bcpp
Note:
Place bcpp.exe, indent.bat, bcpp.cfg, indent.cfg, bcppall.bat in the same directory.
14. global
For more details visit my global page
15. cshow
cshow - a program to print the definition of a C-identifier. It needs tag file
created by Exuberant tags.
Distribution:
http://users.pandora.be/bdr/pub/cshow/
Compiling:
compiles out of the box.
Going Further:
I have added the following options, to make it much more useful.
-i, --ignorecase : Ignore case. -l, --taglength n : Check only the first n characters of tag names. -a, --all : List all tag matches. -b, --brief : List briefly.Here are some outputs of the new options
find all the definitions which starts with the letter e.
~/cshow>cshow -i -a -t d --taglength 1 e
"EILLEGAL" definitions.h:15
#define EILLEGAL 1
--------------------------------------------------------------------------------
"EMALLOC" definitions.h:17
#define EMALLOC 3
--------------------------------------------------------------------------------
"ENOT_FOUND" definitions.h:18
#define ENOT_FOUND 4
--------------------------------------------------------------------------------
"ENOT_SUPPORTED" definitions.h:16
#define ENOT_SUPPORTED 2
--------------------------------------------------------------------------------
"EOK" definitions.h:14
#define EOK 0
find all the structures with starts with the letter T or t.
~/cshow>cshow -a -i -t s -l 1 T
"tag_entry" lookup.h:34
struct tag_entry {
struct tag_entry *next;
char *identifier;
enum e_identifier_type id_type;
int tag_length;
enum icase case_type;
enum iall all;
char *filename;
struct search_pattern spat;
};
--------------------------------------------------------------------------------
"tagtypes" identifiertype.c:10
struct tagtypes {
char short_type;
char *long_type;
};
~/cshow/cshow-0.3>cshow -i -a -l 2 -t u u_
"u_pat" lookup.h:21
union u_pat {
unsigned long int line_no;
char *search_line;
};
~/cshow/cshow-0.3>cshow -b -i -a -l 2 -t u u_
"u_pat" lookup.h:21
union u_pat
find all the function which starts with letters pr, ignore the case and be
brief. By default cshow prints the whole function.
~/cshow/cshow-0.3>cshow -b -i -a -l 2 -t f pr
"print_character_delimited" print.c:154
int print_character_delimited (struct print_io *io, char delim, enum ibrief brief)
--------------------------------------------------------------------------------
"print_comma_delimited" print.c:232
int print_comma_delimited (struct print_io *io, enum ibrief brief)
--------------------------------------------------------------------------------
"print_definition" print.c:14
int print_definition (struct print_io *io)
--------------------------------------------------------------------------------
"print_function_body" print.c:76
int print_function_body (struct print_io *io, enum ibrief brief)
--------------------------------------------------------------------------------
"print_semicolon_delimited" print.c:237
int print_semicolon_delimited (struct print_io *io, enum ibrief brief)
The diff file to patch cshow-0.2-pre2.tgz
Distribution:
ftp://ftp.clark.net/pub/dickey/c_count/
Compiling:
bash configure
make
Generates the following error
mv c_count oc_count c:/djgpp/bin/mv: c_count: No such file or directory (ENOENT) make.exe: [c_count] Error 1 (ignored)but creates the executable.
Output:
~/develop/c_coun~1.2 > c_count c_count.c
1048 361 |c_count.c
----------------
1048 361 total lines/statements
161 lines had comments 15.4 %
27 comments are inline -2.6 %
83 lines were blank 7.9 %
41 lines for preprocessor 3.9 %
790 lines containing code 75.4 %
1048 total lines 100.0 %
4449 comment-chars 18.4 %
937 nontext-comment-chars 3.9 %
5240 whitespace-chars 21.7 %
653 preprocessor-chars 2.7 %
12902 statement-chars 53.4 %
24181 total characters 100.0 %
1816 tokens, average length 4.87
0.33 ratio of comment:code
Distribution:
Compiling:
cp platform/djgpp/Makefile src
cp platform/djgpp/Makeinfo src
cd src
make
Note:
You need to set the environment variable as follows.
@REM For Cint c/c++ interpretor @SET CINTSYSDIR=c:\djgpp\bin @SET PATH=%PATH%;%CINTSYSDIR%
Distribution:
http://www.literateprogramming.com/cweb.tar.gz
Compiling:
make -f Makefile.djp
19. Hexdump Version 3.0.8
Is a part of util-linux-2.11g package
Distribution:
http://www.kernel.org/pub/linux/utils/util-linux/
This is what it did to extract the Hexdump package.
#include < sys/types.h > /* Shankar Chakkere added for u_int 7/19/01*/
#include < locale.h > /* Shankar Chakkere for LC_ALL 7/19/01 */
# Makefile -- Makefile for hexdump from util-linux utilities # Created: Jul 19 09:56:40 2001 #Shankar Chakkere USRBIN= hexdump CFLAGS= -O2 -Wall #-ggdb .SUFFIXES: .c .o .c.o: $(CC) $(CFLAGS) -c $< -o $& all: $(USRBIN) # Rules for hexdump HEXDUMP = hexdump.o \ conv.o \ display.o \ hexsyntax.o \ odsyntax.o \ parse.o hexdump:$(HEXDUMP) $(CXX) $(HEXDUMP) -o $& hexdump.o: hexdump.c hexdump.h conv.o: conv.c hexdump.h display.o: display.c hexdump.h hexsyntax.o: hexsyntax.c hexdump.h odsyntax.o: odsyntax.c hexdump.h parse.o: parse.c hexdump.h .PHONY: clean clean: -rm -f *.o *~ core $(USRBIN)This is the format I use to hexdump like DOS debugger
hexdump -e ' "%6.6_ax " 8/1 "%02x " "-" 8/1 "%02x " "\t" 16/1 "%_p" "\n"' test.bin
Note:
Quotes are need around the format string.
Bug fix:
Stops reading the binary file if there is "CTRL-Z"(0x1A) in it. This problem is specific to DOS
file: display.c
In function int next(char **argv)
#if __DJGPP__
/* Shankar Chakkere 9/11/2001.
* Stops reading the binary file if there is "CTRL-Z"(0x1A) in it.
*/
if (!(freopen(*_argv, "r+b", stdin))) {
#else
if (!(freopen(*_argv, "r", stdin))) {
#endif
20. Srecord Version 1.8
This is one of the useful tool for an embedded engineer.
The SRecord package is a collection of powerful tools for manipulating
EPROM load files.
Distribution:
http://www.canb.auug.org.au/~millerp/srecord/
Compiling:
Compiles out of the box after running ./configure
21. MOST version 4.9.0
Is a paging program that displays, one windowful at a time, the contents of a file on a terminal.
It pauses after each windowful and prints on the window status line the screen the file name,
current line number, and the percentage of the file so far displayed.
Unlike other paging programs, most is capable of displaying an arbitrary number of windows as long as each window occupies at least two screen lines. Each window may contain the same file or a different file.
In addition, each window has its own mode. For example, one window may display a file with its lines wrapped while another may be truncating the lines. Windows may be locked together in the sense that if one of the locked windows scrolls, all locked windows will scroll.
most is also capable of ignoring lines that are indented beyond a user-specified value. This is useful when viewing computer programs to pick out gross features of the code.
Distribution:
ftp://space.mit.edu/pub/davis/most
Compiling:
It will compile out of the box if you have slang library.
This library is available at
ftp://space.mit.edu/pub/davis/slang
22. ctags Version 5.2.1
Exuberant Ctags is a Multilanguage reimplementation of the much underused
ctags program and is intended to be the mother of all ctags programs.
Distribution:
Compiling:
bash configureEdit Makefile to reflect
prefix = ${DJDIR}
SHELL=${prefix}/bin/bash
If you want to use internal sorting, edit config.h to reflect
#ifndef INTERNAL_SORT # define INTERNAL_SORT 1 #endif
makeCreates the executable.
Distribution:
http://www-cad.eecs.berkeley.edu/Software/software.html
Compiling:
file: port/port.h:161
#ifndef __DJGPP__
extern VOID_HACK srandom();
#endif
~/develop/espresso > make
copy files
~/develop/espresso > cp port/ansi.h include/ ~/develop/espresso > cp port/copyright.h include/ ~/develop/espresso > cp errtrap/errtrap.h include/Made the following changes.
file: mem/mem.c
138:
#ifndef __DJGPP__
/* comment out malloc() free() et.al when you can use the library*/
376:
#endif /* #ifndef __DJGPP__ */
file: utility/csystem.c
int
util_csystem(s)
char *s;
{
#ifndef __DJGPP__
/* I don't know the consequence of this */
......
#else
return -1;
#endif
}
file: espresso/espresso.h:766
#ifndef __DJGPP__
/* ucbqsort.c */ extern qsort();
#endif
file: espresso/signature.c:37
#ifndef __DJGPP__
/* I don't know the consequence of this */
signal(SIGXCPU,cleanup);
#endif
~/develop/espresso > make
You get the following error
make.exe[1]: Leaving directory c:/usr/shankar/develop/espresso/utility make.exe: *** [all] Error 2
~/develop/espresso > cd espresso/
~/develop/espresso/espresso > make CAD=..You get the following error
make.exe: *** No rule to make target ../lib/llib-lutility.ln, needed by lint . Stop.file: espresso/Makefile:129
#all: tags lint ${TARGET}
all: tags ${TARGET}
~/develop/espresso/espresso > make CAD=..Creates executable.
I verified with the DOS espresso I had.
~/develop/espresso/espresso > cat eq.pla # .i 3 .o 1 # The product term belongs to the ON-set .type f .phase 1 000 1 001 1 100 1 101 1 110 1 .end ~/develop/espresso/espresso > espresso -Dsimplify -oeqntott eg.pla # # The product term belongs to the ON-set v3.0 = (!v1) | (v0&!v2); checking with the one I got from the internet ~/develop/espresso/espresso > espr-2-3 -Dsimplify -oeqntott eg.pla # # The product term belongs to the ON-set v3.0 = (!v1) | (v0&!v2);They behave in the same way.
Tidy is able to fix up a wide range of problems and to bring to your attention things that you need to work on yourself. Each item found is listed with the line number and column so that you can see where the problem lies in your markup. Tidy won't generate a cleaned up version when there are problems that it can't be sure of how to handle. These are logged as "errors" rather than "warnings".
Support for Word2000
Tidy can now perform wonders on HTML saved from Microsoft Word 2000! Word bulks out HTML files with stuff for round-tripping presentation between HTML and Word.
Distribution:
Compiling:
~/develop/tidy > cp Makefile Makefile.djp
Append
-DHAS_FUTIME=0
to
CFLAGS macro.
in Makefile.djp
~/develop/tidy > make -f Makefile.djp
creates the executable.
25. GNU Nano Version 1.0.8
GNU Nano is designed to be a free replacement for the Pico text editor, part of the PINE email suite
from {The University of Washington}.
It aims to "emulate Pico as closely as possible and perhaps include extra functionality.
Distribution:
Compiling:
You need to have glib version > = 1.2.4 and pdcurses libraries.
Glib compiles easily in djgpp. You can get pdcurses from http://pdcurses.sourceforge.net
~/develop/nano-1.0.8/bash configurecreates Makefile's and config.h
Did following modifications to Makefile:
DEFS = -DHAVE_CONFIG_H -DNANO_SMALL -DDISABLE_BROWSER -DDISABLE_JUSTIFY -I. -I$(srcdir) -I.
LIBS = -lpdcurses -lpanel -lglib
Modified the following files because DOS/WINDoze does not support symbolic links.
file: files.c: 357
#ifndef __DJGPP__
anyexists = lstat(realname, &lst);
file: files.c: 388
else {
#endif
file: files.c:402
#ifndef __DJGPP__
}
#endif
file: files.c:449
#ifndef __DJGPP__
if (realexists == -1 || tmp ||
(!ISSET(FOLLOW_SYMLINKS) && S_ISLNK(lst.st_mode))) {
#else
if (realexists == -1 || tmp) {
#endif
file: files.c:466
#ifndef __DJGPP__
if (!tmp && (!ISSET(FOLLOW_SYMLINKS) && S_ISLNK(lst.st_mode))) {
#else
if (!tmp && (!ISSET(FOLLOW_SYMLINKS) )) {
#endif
file: files.c:1311
#ifndef __DJGPP__
lstat(filelist[j], &st);
file: files.c:1336
}
#endif
file:nano.c:1812
#ifndef __DJGPP__
act.sa_handler = handle_sigwinch;
sigaction(SIGWINCH, &act, NULL);
#endif
file:nano.c:1842
#ifndef __DJGPP__
act.sa_handler = do_suspend;
sigaction(SIGTSTP, &act, NULL);
act.sa_handler = do_cont;
sigaction(SIGCONT, &act, NULL);
#endif
file:nano.c:2161
#ifndef __DJGPP__
/* And for the toggle list, we also allocate space for extra text. */
for (i = 0; i <= TOGGLE_LEN - 1; i++)
if (toggles[i].desc != NULL)
allocsize += strlen(toggles[i].desc) + 30;
#endif
file:nano.c:2203
#ifndef __DJGPP__
/* And the toggles... */
for (i = 0; i <= TOGGLE_LEN - 1; i++) {
sofar = snprintf(buf, BUFSIZ,
"M-%c ", toggles[i].val - 32);
if (toggles[i].desc != NULL)
snprintf(&buf[sofar], BUFSIZ - sofar, _("%s enable/disable"),
toggles[i].desc);
strcat(help_text, buf);
strcat(help_text, "\n");
}
#endif
The linker complains that
winio.o: In function horizbar:
winio.c:466: undefined reference to wattr_on
winio.c:468: undefined reference to wattr_off
I had to disable the references to wattron() and wattroff() even though the pdcurses supports it.
I will investigate it later. I will also try to compile it with SLANG.
~/develop/nano-1.0.8/makeCreates the Nano executable in root directory.
Distribution:
Compiling:
~/develop/glib-1.2.9 > bash configureCreates Makefile's , config.h & glibconfig.h
I have to do following modifications to compile
file: config.h
/*#define HAVE_PWD_H 1*/
#undef HAVE_PWD_H
file: gerror.c :195
In function static void stack_trace (char **args);
#if __DJGPP__
#define NATIVE_WIN32 1
#endif
file: gutils.c:545
#ifndef __DJGPP__
g_real_name = g_strdup (pw- > pw_gecos);
#else
g_real_name = g_strdup (pw- _GTpw_name);
#endif
file:glib-config
#!/djgpp/bin/bash
prefix=/djgpp
#echo -I${prefix}/include/glib-1.2 -I${exec_prefix}/lib/glib/include $includes $cflags
echo -I${prefix}/include/ -I${exec_prefix}/lib/ $includes $cflags
~/develop/glib-1.2.9 > makeCreates the libglib.a lib.
Here is the manifest file used to create the DJGPP packet.
bin/glib-config doc/glib/AUTHORS doc/glib/README doc/glib/glib.html doc/glib/glib_toc.html include/glib.h include/glibconfig.h info/glib.info lib/libglib.a man/man1/glib-config.1 manifest/glib129b.ver manifest/glib129b.mft
Distribution:
ftp://ftp.uu.net/graphics/png/src/zlib-1.1.3.tar.gz
Compiling:
~/develop/zlib-1~1.3 > ./configure --prefix=c:/djgpp --exec_prefix=c:/djgpp ~/develop/zlib-1~1.3 > makeCreates libz.a minigzip.exe and example.exe in root directory.
Here is the manifest file used to create DJGPP packet.
doc/zlib/FAQ doc/zlib/README doc/zlib/algorithm.txt doc/zlib/Makefile doc/zlib/example.c include/zlib.h include/zconf.h include/zutil.h lib/libz.a man/man3/zlib.3 manifest/zlib113b.ver manifest/zlib113b.mft
Distribution:
http://www.cs.berkeley.edu/~amc/Par/
Compiling:
Compiles out of the box after changing CC with GCC in the Makefile.
usage:
To format a paragraph in VIM add this to your .vimrc
map somekey j{!}par^M " To enter ^M in vim do ctrl-v ctrl-m
" somekey is some key combination you like.
Previous Site
Ring's Home
Next Site
Random Site
Skip Next Site
List Next 5 Sites
th visitor.
![]()
Last Update : July 23, 2002 11:12:21 AM EDT
Mail me if you have any suggestions.