* harbour/harbour.spec
+ new spec file. It creates four binary RPMs with shared and
static libs core harbour compiler and tools and with Ron's PP
which allow to run xBase files as scripts on *nix platform
and new tool hbcmp, hbcc, hblnk, hbmk.
For details see README.RPM
Please remember that PP has poor GPL license. It is noticed in RPM
headers.
+ harbour/hbgtmk.sh
+ simple script which connect to SourceForge CVS takes sources and
build RPMs from them.
+ harbour/make_rpm.sh
+ script for checking dependences and making RPMs
+ harbour/make_tgz.sh
+ script for making binary package for this Linux distro which don't
support RPM
+ harbour/bin/hb-mkslib.sh
+ script for building shared libs from static ones and/or object files
+ harbour/bin/pack_src.sh
+ script for packing harbour sources
* harbour/Makefile
* harbour/source/compiler/harbour.c
* harbour/source/common/hbver.c
* harbour/source/vm/cmdarg.c
* harbour/source/vm/fm.c
* harbour/source/vm/hvm.c
* changes for some new futures in hb{cmp,lnk,mk} tools
* harbour/contrib/libct/datetime.prg
- redundant STOD removed (this function is part of RTL)
* harbour/contrib/dot/pp.prg
* harbour/contrib/dot/pp.txt
* harbour/contrib/dot/pp_harb.ch
* harbour/contrib/dot/rp_dot.ch
* harbour/contrib/dot/rp_run.ch
* upadting for runing xBase files as scripts.
All this changes (except Ron's PP) are my work borrowed from xHarbour.
108 lines
3.7 KiB
Bash
108 lines
3.7 KiB
Bash
#!/bin/bash
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
# ---------------------------------------------------------------
|
|
# Template to initialize the environment before starting
|
|
# the GNU make system for Harbour
|
|
#
|
|
# For further information about the GNU make system please
|
|
# check doc/gmake.txt
|
|
#
|
|
# Copyright 1999-2001 Viktor Szakats (viktor.szakats@syenar.hu)
|
|
# See doc/license.txt for licensing terms.
|
|
# ---------------------------------------------------------------
|
|
|
|
if [ -z "$HB_ARCHITECTURE" ]; then export HB_ARCHITECTURE=linux; fi
|
|
if [ -z "$HB_COMPILER" ]; then export HB_COMPILER=gcc; fi
|
|
if [ -z "$HB_GT_LIB" ]; then export HB_GT_LIB=; fi
|
|
|
|
# export PRG_USR=
|
|
# export C_USR=
|
|
# export L_USR=
|
|
|
|
# Set to constant value to be consistent with the non-GNU make files.
|
|
|
|
if [ -z "$HB_BIN_INSTALL" ]; then export HB_BIN_INSTALL=bin/; fi
|
|
if [ -z "$HB_LIB_INSTALL" ]; then export HB_LIB_INSTALL=lib/; fi
|
|
if [ -z "$HB_INC_INSTALL" ]; then export HB_INC_INSTALL=include/; fi
|
|
|
|
if [ -z "$HB_ARCHITECTURE" ]; then
|
|
echo Error: HB_ARCHITECTURE is not set.
|
|
fi
|
|
if [ -z "$HB_COMPILER" ]; then
|
|
echo Error: HB_COMPILER is not set.
|
|
fi
|
|
|
|
if [ -z "$HB_ARCHITECTURE" ] || [ -z "$HB_COMPILER" ]; then
|
|
|
|
echo
|
|
echo Usage: make_gnu.sh [command]
|
|
echo
|
|
echo The following commands are supported:
|
|
echo " - all (default)"
|
|
echo " - clean"
|
|
echo " - install"
|
|
echo
|
|
echo Notes:
|
|
echo
|
|
echo " - HB_ARCHITECTURE and HB_COMPILER envvars must be set."
|
|
echo " The following values are currently supported:"
|
|
echo
|
|
echo " HB_ARCHITECTURE:"
|
|
echo " - dos (HB_GT_LIB=gtdos by default)"
|
|
echo " - w32 (HB_GT_LIB=gtw32 by default)"
|
|
echo " - linux (HB_GT_LIB=gtstd by default)"
|
|
echo " - os2 (HB_GT_LIB=gtos2 by default)"
|
|
echo
|
|
read
|
|
echo " HB_COMPILER:"
|
|
echo " - When HB_ARCHITECTURE=dos"
|
|
echo " - bcc16 (Borland C++ 3.x, 4.x, 5.0x, DOS 16-bit)"
|
|
echo " - djgpp (Delorie GNU C, DOS 32-bit)"
|
|
echo " - rxs32 (EMX/RSXNT/DOS GNU C, DOS 32-bit)"
|
|
echo " - watcom (Watcom C++ 9.x, 10.x, 11.x, DOS 32-bit)"
|
|
echo " - When HB_ARCHITECTURE=w32"
|
|
echo " - bcc32 (Borland C++ 4.x, 5.x, Windows 32-bit)"
|
|
echo " - gcc (Cygnus/Cygwin GNU C, Windows 32-bit)"
|
|
echo " - mingw32 (Cygnus/Mingw32 GNU C, Windows 32-bit)"
|
|
echo " - rxsnt (EMX/RSXNT/Win32 GNU C, Windows 32-bit)"
|
|
echo " - icc (IBM Visual Age C++, Windows 32-bit)"
|
|
echo " - msvc (Microsoft Visual C++, Windows 32-bit)"
|
|
echo " - When HB_ARCHITECTURE=linux"
|
|
echo " - gcc (GNU C, 32-bit)"
|
|
echo " - When HB_ARCHITECTURE=os2"
|
|
echo " - gcc (EMX GNU C, OS/2 32-bit)"
|
|
echo " - icc (IBM Visual Age C++ 3.0, OS/2 32-bit)"
|
|
echo
|
|
read
|
|
echo " HB_GT_LIB:"
|
|
echo " - gtstd (Standard streaming) (for all architectures)"
|
|
echo " - gtdos (DOS console) (for dos architecture)"
|
|
echo " - gtwin (Win32 console) (for w32 architecture)"
|
|
echo " - gtos2 (OS/2 console) (for os2 architecture)"
|
|
echo " - gtpca (PC ANSI console) (for all architectures)"
|
|
echo " - gtcrs (Curses console) (for linux, w32 architectures)"
|
|
echo " - gtsln (Slang console) (for linux, w32 architectures)"
|
|
echo
|
|
echo " - Use these optional envvars to configure the make process"
|
|
echo " when using the 'all' command:"
|
|
echo
|
|
echo " PRG_USR - Extra Harbour compiler options"
|
|
echo " C_USR - Extra C compiler options"
|
|
echo " L_USR - Extra linker options"
|
|
exit
|
|
|
|
else
|
|
|
|
# ---------------------------------------------------------------
|
|
# Start the GNU make system
|
|
|
|
make $*
|
|
|
|
if [ "$*" = "clean" ]; then
|
|
find . -type d -name "$HB_ARCHITECTURE" | xargs rmdir 2> /dev/null
|
|
fi
|
|
fi
|