2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)

* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
This commit is contained in:
vszakats
2013-03-15 11:13:30 +01:00
parent e064276c9e
commit a4a357a18b
4038 changed files with 5 additions and 0 deletions

BIN
package/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
package/harb_os2.ico Normal file

Binary file not shown.

BIN
package/harb_osx.icns Normal file

Binary file not shown.

BIN
package/harb_win.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

19
package/harb_win.mft Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1999-2013 (see application banner) -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="3.2.0.0"
name="Harbour"
type="win32"
processorArchitecture="*"/>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

64
package/harb_win.rc Normal file
View File

@@ -0,0 +1,64 @@
/*
* $Id$
*/
/* ---------------------------------------------------------------
Copyright 2011 Viktor Szakats (harbour syenar.net)
See COPYING.txt for licensing terms.
---------------------------------------------------------------
*/
#include "hbver.h"
#define HB_MACRO2STRING( macro ) HB_MACRO2STRING_( macro )
#define HB_MACRO2STRING_( macro ) #macro
#define HB_VER_PRODUCTVERSION HB_VER_MAJOR,HB_VER_MINOR,HB_VER_RELEASE,0
#define HB_VER_PRODUCTVERSION_STR HB_MACRO2STRING( HB_VER_MAJOR ) "." HB_MACRO2STRING( HB_VER_MINOR ) "." HB_MACRO2STRING( HB_VER_RELEASE ) HB_VER_STATUS "\0"
#define HB_VER_FILEVERSION HB_VER_PRODUCTVERSION
#define HB_VER_FILEVERSION_STR HB_VER_PRODUCTVERSION_STR
#define HB_NAME "Harbour\0"
#define HB_COPYRIGHT "Copyright \xA9 1999-2013 (see application banner)\0"
/* Version info */
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION HB_VER_FILEVERSION
PRODUCTVERSION HB_VER_PRODUCTVERSION
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
/* LANGUAGE: US English ENCODING: Windows-1250 (0x04E2) */
BLOCK "040904B0"
BEGIN
VALUE "Comments", "See COPYING.txt for licensing terms.\0"
VALUE "CompanyName", HB_NAME
VALUE "FileDescription", HB_NAME
VALUE "FileVersion", HB_VER_FILEVERSION_STR
VALUE "LegalCopyright", HB_COPYRIGHT
VALUE "ProductName", HB_NAME
VALUE "ProductVersion", HB_VER_PRODUCTVERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
/* LANGUAGE: US English ENCODING: UNICODE (0x4B0) */
VALUE "Translation", 0x409, 0x4B0
END
END
/* Preparation for manifest */
/* Not using predefined Windows macros here, because some C compilers
will fail badly with their own definitions (f.e. pocc) and/or their
own Windows headers. [vszakats] */
#define __HB_CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define __HB_RT_MANIFEST 24

170
package/harbour-wce.spec.in Normal file
View File

@@ -0,0 +1,170 @@
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl),
# Harbour-WinCE cross build RPM spec file
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
######################################################################
## Definitions.
######################################################################
%define name harbour-wce
%define version 3.2.0
%define releasen dev
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define hb_ccpath /opt/mingw32ce/bin
%define hb_ccpref arm-wince-mingw32ce-
%define __strip %{hb_ccpath}/%{hb_ccpref}strip
%define __objdump %{hb_ccpath}/%{hb_ccpref}objdump
######################################################################
## Preamble.
######################################################################
Summary: Free software Clipper compatible compiler
Summary(pl): Darmowy kompilator kompatybilny z językiem Clipper.
Name: %{name}
Version: %{version}
Release: %{releasen}
License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: harbour-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils cegcc-mingw32ce harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root
%define _noautoreq 'libharbour.*'
%description
Harbour is a CA-Cl*pper compatible compiler for multiple platforms. This
package includes a compiler, pre-processor, header files, virtual machine
and libraries for creating WinCE application in Linux box using MinGW-CE
GCC port.
%description -l pl
Harbour to kompatybilny z językiem CA-Cl*pper kompilator rozwijany na
wielu różnych platformach. Ten pakiet zawiera kompilator, preprocesor,
zbiory nagłówkowe, wirtualn+ maszynę oraz biblioteki pozwalaj+ce na
tworzenie aplikacji dla WinCE-PocketPC przy użyciu MinGW-CE GCC.
######################################################################
## Preperation.
######################################################################
%prep
%setup -c harbour
rm -fR $RPM_BUILD_ROOT
######################################################################
## Build.
######################################################################
%build
export HB_BUILD_CONTRIBS=no
export HB_PLATFORM=linux
export HB_COMPILER=gcc
make %{?_smp_mflags}
unset HB_COMPILER
unset HB_BUILD_CONTRIBS
export HB_BUILD_PARTS=lib
export HB_PLATFORM=wce
export HB_HOST_BIN="$(pwd)/bin/linux/gcc"
make %{?_smp_mflags}
######################################################################
## Install.
######################################################################
%install
# Install harbour itself.
unset HB_COMPILER
export HB_BUILD_PARTS=lib
export HB_PLATFORM=wce
export HB_HOST_BIN="$(pwd)/bin/linux/gcc"
export HB_INSTALL_PKG_ROOT=${RPM_BUILD_ROOT}
export HB_INSTALL_PREFIX=${RPM_BUILD_ROOT}
export HB_INSTALL_BIN=${RPM_BUILD_ROOT}/%{_bindir}
export HB_INSTALL_INC=${RPM_BUILD_ROOT}/%{_includedir}/%{name}
export HB_INSTALL_LIB=${RPM_BUILD_ROOT}/%{_libdir}/%{name}
export HB_INSTALL_DYN=${HB_INSTALL_LIB}
export HB_INSTALL_DOC=no
export HB_BUILD_STRIP=lib
mkdir -p $HB_INSTALL_BIN
export HB_MK2WRAP=$HB_INSTALL_BIN/hbcemk2
export HB_INSTALL_SCRIPT=$HB_MK2WRAP.tmp
echo "#!/bin/sh" > $HB_INSTALL_SCRIPT
echo "echo export HB_CCPREFIX=\$HB_CCPREFIX >> $HB_MK2WRAP" > $HB_INSTALL_SCRIPT
chmod +x $HB_INSTALL_SCRIPT
echo "#!/bin/sh" > $HB_MK2WRAP
echo "export HB_INSTALL_LIB=%{_libdir}/%{name}" >> $HB_MK2WRAP
echo "export HB_INSTALL_INC=%{_includedir}/%{name}" >> $HB_MK2WRAP
make install %{?_smp_mflags}
echo "hbmk2 -plat=wce \"\$@\"" >> $HB_MK2WRAP
rm -fR $HB_INSTALL_SCRIPT
######################################################################
## Post install
######################################################################
#%post lib
#/sbin/ldconfig
######################################################################
## Post uninstall
######################################################################
#%postun lib
#/sbin/ldconfig
######################################################################
## Clean.
######################################################################
%clean
rm -fR $RPM_BUILD_ROOT
######################################################################
## File list.
######################################################################
%files
%defattr(755,root,root,755)
%{_bindir}/*
%defattr(644,root,root,755)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*.a
%defattr(755,root,root,755)
%{_libdir}/%{name}/*.dll
######################################################################
## Spec file Changelog.
######################################################################
%changelog
* Thu Oct 23 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- initial release

170
package/harbour-win.spec.in Normal file
View File

@@ -0,0 +1,170 @@
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl),
# Harbour-MinGW cross build RPM spec file
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
######################################################################
## Definitions.
######################################################################
%define name harbour-win
%define version 3.2.0
%define releasen dev
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define hb_ccpath /opt/xmingw/bin
%define hb_ccpref i386-mingw-
%define __strip %{hb_ccpath}/%{hb_ccpref}strip
%define __objdump %{hb_ccpath}/%{hb_ccpref}objdump
######################################################################
## Preamble.
######################################################################
Summary: Free software Clipper compatible compiler
Summary(pl): Darmowy kompilator kompatybilny z językiem Clipper.
Name: %{name}
Version: %{version}
Release: %{releasen}
License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: harbour-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash
Requires: gcc binutils bash sh-utils harbour = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}
BuildRoot: /tmp/%{name}-%{version}-root
%define _noautoreq 'libharbour.*'
%description
Harbour is a CA-Cl*pper compatible compiler for multiple platforms. This
package includes a compiler, pre-processor, header files, virtual machine
and libraries for creating MS-Windows application in Linux box using MinGW
GCC port.
%description -l pl
Harbour to kompatybilny z językiem CA-Cl*pper kompilator rozwijany na
wielu różnych platformach. Ten pakiet zawiera kompilator, preprocesor,
zbiory nagłówkowe, wirtualn+ maszynę oraz biblioteki pozwalaj+ce na
tworzenie aplikacji dla WinCE-PocketPC przy użyciu MinGW-CE GCC.
######################################################################
## Preperation.
######################################################################
%prep
%setup -c harbour
rm -fR $RPM_BUILD_ROOT
######################################################################
## Build.
######################################################################
%build
export HB_BUILD_CONTRIBS=no
export HB_PLATFORM=linux
export HB_COMPILER=gcc
make %{?_smp_mflags}
unset HB_COMPILER
unset HB_BUILD_CONTRIBS
export HB_BUILD_PARTS=lib
export HB_PLATFORM=win
export HB_HOST_BIN="$(pwd)/bin/linux/gcc"
make %{?_smp_mflags}
######################################################################
## Install.
######################################################################
%install
# Install harbour itself.
unset HB_COMPILER
export HB_BUILD_PARTS=lib
export HB_PLATFORM=win
export HB_HOST_BIN="$(pwd)/bin/linux/gcc"
export HB_INSTALL_PKG_ROOT=${RPM_BUILD_ROOT}
export HB_INSTALL_PREFIX=${RPM_BUILD_ROOT}
export HB_INSTALL_BIN=${RPM_BUILD_ROOT}/%{_bindir}
export HB_INSTALL_INC=${RPM_BUILD_ROOT}/%{_includedir}/%{name}
export HB_INSTALL_LIB=${RPM_BUILD_ROOT}/%{_libdir}/%{name}
export HB_INSTALL_DYN=${HB_INSTALL_LIB}
export HB_INSTALL_DOC=no
export HB_BUILD_STRIP=lib
mkdir -p $HB_INSTALL_BIN
export HB_MK2WRAP=$HB_INSTALL_BIN/hbwmk2
export HB_INSTALL_SCRIPT=$HB_MK2WRAP.tmp
echo "#!/bin/sh" > $HB_INSTALL_SCRIPT
echo "echo export HB_CCPREFIX=\$HB_CCPREFIX >> $HB_MK2WRAP" > $HB_INSTALL_SCRIPT
chmod +x $HB_INSTALL_SCRIPT
echo "#!/bin/sh" > $HB_MK2WRAP
echo "export HB_INSTALL_LIB=%{_libdir}/%{name}" >> $HB_MK2WRAP
echo "export HB_INSTALL_INC=%{_includedir}/%{name}" >> $HB_MK2WRAP
make install %{?_smp_mflags}
echo "hbmk2 -plat=win -comp=mingw \"\$@\"" >> $HB_MK2WRAP
rm -fR $HB_INSTALL_SCRIPT
######################################################################
## Post install
######################################################################
#%post lib
#/sbin/ldconfig
######################################################################
## Post uninstall
######################################################################
#%postun lib
#/sbin/ldconfig
######################################################################
## Clean.
######################################################################
%clean
rm -fR $RPM_BUILD_ROOT
######################################################################
## File list.
######################################################################
%files
%defattr(755,root,root,755)
%{_bindir}/*
%defattr(644,root,root,755)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*.a
%defattr(755,root,root,755)
%{_libdir}/%{name}/*.dll
######################################################################
## Spec file Changelog.
######################################################################
%changelog
* Thu Oct 23 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- initial release

20
package/harbour.rb Normal file
View File

@@ -0,0 +1,20 @@
#
# $Id$
#
require 'formula'
class Harbour < Formula
url 'http://downloads.sourceforge.net/project/harbour-project/source/3.0.0/harbour-3.0.0.tar.bz2'
homepage 'harbour-project.sourceforge.net/'
sha1 '66c21d666ac24c45485179eeaa9f90458b552e92'
head 'https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour'
# depends_on 'pcre' if ARGV.include? '--with-pcre'
def install
ENV[ 'HB_INSTALL_PREFIX' ] = "#{HOMEBREW_PREFIX}"
system "make", "install"
end
end

697
package/harbour.spec Normal file
View File

@@ -0,0 +1,697 @@
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2003 Przemyslaw Czerpak <druzus@polbox.com>,
# Dave Pearson <davep@davep.org>
# Harbour RPM spec file
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
# ---------------------------------------------------------------
# HOWTO .rpm docs:
# http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo
# http://www.gurulabs.com/downloads/GURULABS-RPM-LAB/GURULABS-RPM-GUIDE-v1.0.PDF
# ---------------------------------------------------------------
# TOFIX: Contrib packages with dependencies will be packaged
# into separate .rpms, but their headers will be packaged
# into the core Harbour package. This f.e. makes it impossible
# to detect a Harbour contrib package by checking the existence
# of the header. [vszakats]
######################################################################
## Definitions.
######################################################################
# please add your distro suffix if it does not belong to the ones recognized below
# and remember that order checking can be important
%define platform %(release=$(rpm -q --queryformat='%{VERSION}' mandriva-release-common 2>/dev/null) && echo "mdv$release"|tr -d ".")
%if "%{platform}" == ""
%define platform %(release=$(rpm -q --queryformat='%{VERSION}' redhat-release 2>/dev/null) && echo "rh$release"|tr -d ".")
%if "%{platform}" == ""
%define platform %(release=$(rpm -q --queryformat='%{VERSION}' fedora-release 2>/dev/null) && echo "fc$release"|tr -d ".")
%if "%{platform}" == ""
%define platform %(release=$(rpm -q --queryformat='%{VERSION}' suse-release 2>/dev/null) && echo "sus$release"|tr -d ".")
%if "%{platform}" == ""
%define platform %(release=$(rpm -q --queryformat='%{VERSION}' openSUSE-release 2>/dev/null) && echo "sus$release"|tr -d ".")
%if "%{platform}" == ""
%define platform %([ -f /etc/pld-release ] && cat /etc/pld-release|sed -e '/1/ !d' -e 's/[^0-9]//g' -e 's/^/pld/')
%endif
%endif
%endif
%endif
%endif
%define hb_ldconf %([ -d /etc/ld.so.conf.d ] && echo /etc/ld.so.conf.d)
%if "%{hb_ldconf}" == ""
%undefine hb_ldconf
%endif
%define name harbour
%define dname Harbour
%define version 3.2.0
%define releasen dev
%define hb_etcdir /etc/%{name}
%define hb_plat export HB_PLATFORM=linux
%define hb_cc export HB_COMPILER=gcc
%define hb_cflag export HB_USER_CFLAGS=
%define hb_lflag export HB_USER_LDFLAGS=
%define hb_dflag export HB_USER_DFLAGS=
%define shl_path export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}`pwd`/lib/${HB_PLATFORM}/${HB_COMPILER}${HB_BUILD_NAME}
%define hb_gpm export HB_WITH_GPM=%{!?_without_gpm:yes}%{?_without_gpm:no}
%define hb_crs export HB_WITH_CURSES=%{!?_without_curses:yes}%{?_without_curses:no}
%define hb_sln export HB_WITH_SLANG=%{!?_without_slang:yes}%{?_without_slang:no}
%define hb_x11 export HB_WITH_X11=%{!?_without_x11:yes}%{?_without_x11:no}
%define hb_local export HB_WITH_ZLIB=%{?_with_localzlib:local} ; export HB_WITH_PCRE=%{?_with_localpcre:local}
%define hb_proot export HB_INSTALL_PKG_ROOT=${RPM_BUILD_ROOT}
%define hb_bdir export HB_INSTALL_BIN=${RPM_BUILD_ROOT}%{_bindir}
%define hb_idir export HB_INSTALL_INC=${RPM_BUILD_ROOT}%{_includedir}/%{name}
%define hb_ldir export HB_INSTALL_LIB=${RPM_BUILD_ROOT}%{_libdir}/%{name}
%define hb_ddir export HB_INSTALL_DYN=${RPM_BUILD_ROOT}%{_libdir}/%{name}
%define hb_edir export HB_INSTALL_ETC=${RPM_BUILD_ROOT}%{hb_etcdir}
%define hb_mdir export HB_INSTALL_MAN=${RPM_BUILD_ROOT}%{_mandir}
%define hb_tdir export HB_INSTALL_DOC=${RPM_BUILD_ROOT}%{_docdir}
%define hb_blds export HB_BUILD_STRIP=all
%define hb_bldsh export HB_BUILD_SHARED=%{!?_with_static:yes}
%define hb_cmrc export HB_BUILD_NOGPLLIB=%{?_without_gpllib:yes}
%define hb_ctrb export HB_BUILD_CONTRIBS="hbblink hbct hbgt hbmisc hbmzip hbbz2 hbnetio hbtip hbtpathy hbcomm hbhpdf hbziparc hbfoxpro hbsms hbfship hbxpp xhb rddbm rddsql hbsqlit3 sddsqlt3 hbnf hbhttpd hbformat hbunix hbzebra hblzf hbmemio hbmlzo hbmxml hbexpat %{?_with_allegro:gtalleg} %{?_with_cairo:hbcairo} %{?_with_cups:hbcups} %{?_with_curl:hbcurl} %{?_with_freeimage:hbfimage} %{?_with_gd:hbgd} %{?_with_firebird:hbfbird sddfb} %{?_with_mysql:hbmysql sddmy} %{?_with_odbc:hbodbc sddodbc} %{?_with_pgsql:hbpgsql sddpg} %{?_with_ads:rddads} hbrun"
%define hb_env %{hb_plat} ; %{hb_cc} ; %{hb_cflag} ; %{hb_lflag} ; %{hb_dflag} ; %{shl_path} ; %{hb_gpm} ; %{hb_crs} ; %{hb_sln} ; %{hb_x11} ; %{hb_local} ; %{hb_proot} ; %{hb_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_ddir} ; %{hb_edir} ; %{hb_mdir} ; %{hb_tdir} ; %{hb_ctrb} ; %{hb_cmrc} ; %{hb_blds} ; %{hb_bldsh}
######################################################################
## Preamble.
######################################################################
Summary: Free software Clipper compatible compiler
Summary(pl): Darmowy kompilator kompatybilny z językiem Clipper.
Summary(pt_BR): Um compilador Clipper compativel Gratis
Summary(ru): ????????? ??????????, ??????????? ? ?????? Clipper.
Summary(hu): Szabad szoftver Clipper kompatibilis fordító
Name: %{name}
Version: %{version}
Release: %{releasen}%{platform}
License: GPL (plus exception)
Group: Development/Languages
URL: http://harbour-project.org/
Source: %{name}-%{version}.src.tar.gz
BuildPrereq: gcc binutils bash %{!?_without_curses: ncurses-devel} %{!?_without_gpm: gpm-devel}
Requires: gcc binutils bash sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name} harbour lib%{name}.so
BuildRoot: /tmp/%{name}-%{version}-root
%define _noautoreq 'libharbour.*'
%description
%{dname} is a CA-Cl*pper compatible compiler for multiple platforms. This
package includes a compiler, pre-processor, header files, virtual machine
and documentation.
%description -l pl
%{dname} to kompatybilny z językiem CA-Cl*pper kompilator rozwijany na
wielu różnych platformach. Ten pakiet zawiera kompilator, preprocesor,
zbiory nagłówkowe, wirtualn+ maszynę oraz dokumentację.
%description -l pt_BR
%{dname} é um compilador Clipper compativel para multiplas plataformas.
Esse pacote contem um compilador, um pré-processador, arquivos de cabeçalho
uma maquina virtual e documentaçăo.
%description -l ru
%{dname} - ?????????????????? ??????????, ??????????? ? ?????? CA-Cl*pper.
???? ????? ???????? ??????????, ????????????, ????? ??????????, ???????????
?????? ? ????????????.
%description -l hu
%{dname} egy több platformon is működő CA-Cl*pper kompatibilis
fordítóprogram. A csomag része a fordító maga, az előfordító, fejléc
állományok, a virtuális gép és függvénykönyvtárak, valamint a dokumentáció.
######################################################################
## main shared lib
######################################################################
%package lib
Summary: Shared runtime libaries for %{dname} compiler
Summary(pl): Dzielone bilioteki dla kompilatora %{dname}
Summary(ru): ????????? ???????????? ?????????? ??? ??????????? %{dname}
Summary(hu): Megosztott könyvtárak a(z) %{dname} fordítóhoz
Group: Development/Languages
Provides: lib%{name}.so
%description lib
%{dname} is a Clipper compatible compiler.
This package provides %{dname} runtime shared libraries for programs
linked dynamically.
%description -l pl lib
%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.
Ten pakiet udostępnia dzielone bilioteki kompilatora %{dname}
dla programów konsolidowanych dynamicznie.
%description -l pt_BR lib
%{dname} é um compilador compativel com o Clipper.
Esse pacote %{dname} provem as bibliotecas compartilhadas para programas
linkados dinamicamente.
%description -l ru lib
%{dname} - ??????????, ??????????? ? ?????? CA-Cl*pper.
???? ????? ???????? ????????? ???????????? ?????????? %{dname},
??????????? ??? ?????? ??????????? ?????????????? ????????.
%description -l hu lib
A(z) %{dname} egy Clipper kompatibilis fordítóprogram.
Ez a csomag biztosítja a dinamikusan szerkesztett %{dname}
programokhoz szükséges megosztott (dinamikus) futtatókönyvtárakat.
######################################################################
## contrib libs (without package requirements)
######################################################################
%package contrib
Summary: Contrib runtime libaries for %{dname} compiler
Summary(pl): Bilioteki z drzewa contrib dla kompilatora %{dname}
Summary(pt_BR): Libs contrib para %{dname}
Summary(ru): ?????????? ?? ?????? contrib ??? ??????????? %{dname}
Summary(hu): Kiegészítő könyvtárak a(z) %{dname} fordítóhoz
Group: Development/Languages
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%description contrib
%{dname} is a Clipper compatible compiler.
This package provides %{dname} contrib libraries for program linking.
%description -l pl contrib
%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.
Ten pakiet udostępnia statyczne bilioteki z drzewa contrib dla
kompilatora %{dname}.
%description -l pt_BR contrib
%{dname} é um compilador compativel com o clippe.
Esse pacote %{dname} provem as bibliotecas contrib para linkagem
dos programas.
%description -l ru contrib
%{dname} - ??????????, ??????????? ? ?????? CA-Cl*pper.
???? ????? ???????? ??????????? ?????????? %{dname} ?? ?????? contrib.
%description -l hu contrib
A(z) %{dname} egy Clipper kompatibilis fordítóprogram.
Ez a csomag kiegészítő (contrib) könyvtárakat biztosít
statikus szerkesztéshez.
######################################################################
## contrib libs (with package requirements)
######################################################################
## ADS RDD
%{?_with_ads:%package ads}
%{?_with_ads:Summary: ADS RDDs for %{dname} compiler}
%{?_with_ads:Summary(pl): Bilioteka sterowników (RDDs) ADS dla kompilatora %{dname}}
%{?_with_ads:Group: Development/Languages}
%{?_with_ads:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_ads:%description ads}
%{?_with_ads:%{dname} is a Clipper compatible compiler.}
%{?_with_ads:This package provides %{dname} ADS RDDs for program linking.}
%{?_with_ads:%description -l pl ads}
%{?_with_ads:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_ads:Ten pakiet udostępnia sterowniki (RDD) ADS dla kompilatora %{dname}.}
## allegro library
%{?_with_allegro:%package allegro}
%{?_with_allegro:Summary: Allegro GT for %{dname} compiler}
%{?_with_allegro:Summary(pl): Allegro GT dla kompilatora %{dname}}
%{?_with_allegro:Group: Development/Languages}
%{?_with_allegro:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_allegro:%description allegro}
%{?_with_allegro:%{dname} is a Clipper compatible compiler.}
%{?_with_allegro:This package provides %{dname} Allegro GT library for program linking.}
%{?_with_allegro:%description -l pl allegro}
%{?_with_allegro:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_allegro:Ten pakiet udostępnia statyczn+ biliotekę Allegro GT dla kompilatora %{dname}.}
## cairo library
%{?_with_cairo:%package cairo}
%{?_with_cairo:Summary: Cairo library bindings for %{dname} compiler}
%{?_with_cairo:Summary(pl): Bilioteka Cairo dla kompilatora %{dname}}
%{?_with_cairo:Group: Development/Languages}
%{?_with_cairo:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_cairo:%description cairo}
%{?_with_cairo:%{dname} is a Clipper compatible compiler.}
%{?_with_cairo:This package provides %{dname} Cairo library for program linking.}
%{?_with_cairo:%description -l pl cairo}
%{?_with_cairo:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_cairo:Ten pakiet udostępnia statyczn+ biliotekę Cairo dla kompilatora %{dname}.}
## cups library
%{?_with_cups:%package cups}
%{?_with_cups:Summary: CUPS library bindings for %{dname} compiler}
%{?_with_cups:Summary(pl): Bilioteka CUPS dla kompilatora %{dname}}
%{?_with_cups:Group: Development/Languages}
%{?_with_cups:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_cups:%description cups}
%{?_with_cups:%{dname} is a Clipper compatible compiler.}
%{?_with_cups:This package provides %{dname} CUPS library for program linking.}
%{?_with_cups:%description -l pl cups}
%{?_with_cups:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_cups:Ten pakiet udostępnia statyczn+ biliotekę CUPS dla kompilatora %{dname}.}
## curl library
%{?_with_curl:%package curl}
%{?_with_curl:Summary: CURL library bindings for %{dname} compiler}
%{?_with_curl:Summary(pl): Bilioteka CURL dla kompilatora %{dname}}
%{?_with_curl:Group: Development/Languages}
%{?_with_curl:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_curl:%description curl}
%{?_with_curl:%{dname} is a Clipper compatible compiler.}
%{?_with_curl:This package provides %{dname} CURL library for program linking.}
%{?_with_curl:%description -l pl curl}
%{?_with_curl:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_curl:Ten pakiet udostępnia statyczn+ biliotekę CURL dla kompilatora %{dname}.}
## firebird library
%{?_with_firebird:%package firebird}
%{?_with_firebird:Summary: FireBird library bindings for %{dname} compiler}
%{?_with_firebird:Summary(pl): Bilioteka FireBird dla kompilatora %{dname}}
%{?_with_firebird:Group: Development/Languages}
%{?_with_firebird:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_firebird:%description firebird}
%{?_with_firebird:%{dname} is a Clipper compatible compiler.}
%{?_with_firebird:This package provides %{dname} FireBird library for program linking.}
%{?_with_firebird:%description -l pl firebird}
%{?_with_firebird:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_firebird:Ten pakiet udostępnia statyczn+ biliotekę FireBird dla kompilatora %{dname}.}
## freeimage library
#%{?_with_freeimage:%package freeimage}
#%{?_with_freeimage:Summary: FreeImage library bindings for %{dname} compiler}
#%{?_with_freeimage:Summary(pl): Bilioteka FreeImage dla kompilatora %{dname}}
#%{?_with_freeimage:Group: Development/Languages}
#%{?_with_freeimage:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
#%{?_with_freeimage:%description freeimage}
#%{?_with_freeimage:%{dname} is a Clipper compatible compiler.}
#%{?_with_freeimage:This package provides %{dname} FreeImage library for program linking.}
#%{?_with_freeimage:%description -l pl freeimage}
#%{?_with_freeimage:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
#%{?_with_freeimage:Ten pakiet udostępnia statyczn+ biliotekę FreeImage dla kompilatora %{dname}.}
## gd library
%{?_with_gd:%package gd}
%{?_with_gd:Summary: GD library bindings for %{dname} compiler}
%{?_with_gd:Summary(pl): Bilioteka GD dla kompilatora %{dname}}
%{?_with_gd:Group: Development/Languages}
%{?_with_gd:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_gd:%description gd}
%{?_with_gd:%{dname} is a Clipper compatible compiler.}
%{?_with_gd:This package provides %{dname} GD library for program linking.}
%{?_with_gd:%description -l pl gd}
%{?_with_gd:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_gd:Ten pakiet udostępnia statyczn+ biliotekę GD dla kompilatora %{dname}.}
## mysql library
%{?_with_mysql:%package mysql}
%{?_with_mysql:Summary: MYSQL library bindings for %{dname} compiler}
%{?_with_mysql:Summary(pl): Bilioteka MYSQL dla kompilatora %{dname}}
%{?_with_mysql:Group: Development/Languages}
%{?_with_mysql:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_mysql:%description mysql}
%{?_with_mysql:%{dname} is a Clipper compatible compiler.}
%{?_with_mysql:This package provides %{dname} MYSQL library for program linking.}
%{?_with_mysql:%description -l pl mysql}
%{?_with_mysql:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_mysql:Ten pakiet udostępnia statyczn+ biliotekę MYSQL dla kompilatora %{dname}.}
## odbc library
%{?_with_odbc:%package odbc}
%{?_with_odbc:Summary: ODBC library bindings for %{dname} compiler}
%{?_with_odbc:Summary(pl): Bilioteka ODBC dla kompilatora %{dname}}
%{?_with_odbc:Group: Development/Languages}
%{?_with_odbc:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_odbc:%description odbc}
%{?_with_odbc:%{dname} is a Clipper compatible compiler.}
%{?_with_odbc:This package provides %{dname} ODBC library for program linking.}
%{?_with_odbc:%description -l pl odbc}
%{?_with_odbc:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_odbc:Ten pakiet udostępnia statyczn+ biliotekę ODBC dla kompilatora %{dname}.}
## pgsql library
%{?_with_pgsql:%package pgsql}
%{?_with_pgsql:Summary: PGSQL library bindings for %{dname} compiler}
%{?_with_pgsql:Summary(pl): Bilioteka PGSQL dla kompilatora %{dname}}
%{?_with_pgsql:Group: Development/Languages}
%{?_with_pgsql:Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}}
%{?_with_pgsql:%description pgsql}
%{?_with_pgsql:%{dname} is a Clipper compatible compiler.}
%{?_with_pgsql:This package provides %{dname} PGSQL library for program linking.}
%{?_with_pgsql:%description -l pl pgsql}
%{?_with_pgsql:%{dname} to kompatybilny z językiem CA-Cl*pper kompilator.}
%{?_with_pgsql:Ten pakiet udostępnia statyczn+ biliotekę PGSQL dla kompilatora %{dname}.}
######################################################################
## Preperation.
######################################################################
%prep
%setup -c %{name}
rm -rf $RPM_BUILD_ROOT
######################################################################
## Build.
######################################################################
%build
%{hb_env}
make %{?_smp_mflags}
######################################################################
## Install.
######################################################################
# Install harbour itself.
%install
%{hb_env}
# necessary for shared linked hbmk2 used to execute postinst.hb
export LD_LIBRARY_PATH=$HB_INSTALL_LIB
make install %{?_smp_mflags}
%{?_without_curses:rm -f $HB_INSTALL_LIB/libgtcrs.a}
%{?_without_slang:rm -f $HB_INSTALL_LIB/libgtsln.a}
rm -fR %{!?hb_ldconf:$HB_INSTALL_ETC/ld.so.conf.d}
rm -f %{?hb_ldconf:$RPM_BUILD_ROOT/%{_libdir}/*.so*}
rm -f $RPM_BUILD_ROOT/%{_bindir}/{3rdpatch.hb,harbour.ucf}
rm -f $HB_INSTALL_LIB/libbz2.a \
$HB_INSTALL_LIB/libjpeg.a \
$HB_INSTALL_LIB/liblibhpdf.a \
$HB_INSTALL_LIB/libpng.a \
$HB_INSTALL_LIB/libsqlite3.a \
$HB_INSTALL_LIB/libexpat.a \
$HB_INSTALL_LIB/liblzf.a \
$HB_INSTALL_LIB/libminilzo.a \
$HB_INSTALL_LIB/libmxml.a
######################################################################
## Post install/uninstall scripts
######################################################################
%post lib
/sbin/ldconfig
%postun lib
/sbin/ldconfig
%clean
######################################################################
## Clean.
######################################################################
rm -rf $RPM_BUILD_ROOT
######################################################################
## File list.
######################################################################
%files
%defattr(-,root,root,755)
%{_docdir}/*
%dir %{hb_etcdir}
%verify(not md5 mtime) %config %{hb_etcdir}/hb-charmap.def
%{_bindir}/harbour
%{_bindir}/hbpp
%{_bindir}/hbtest
%{_bindir}/hbrun
%{_bindir}/hbi18n
%{_bindir}/hbmk2
%{_bindir}/hbmk2.*.hbl
%{_bindir}/contrib.hbr
%{_mandir}/man1/*.1*
%dir %{_includedir}/%{name}
%attr(644,root,root) %{_includedir}/%{name}/*
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libhbcpage.a
%{_libdir}/%{name}/libhbcommon.a
%{_libdir}/%{name}/libhbcplr.a
%{_libdir}/%{name}/libhbdebug.a
%{_libdir}/%{name}/librddfpt.a
%{_libdir}/%{name}/librddcdx.a
%{_libdir}/%{name}/librddntx.a
%{_libdir}/%{name}/librddnsx.a
%{_libdir}/%{name}/libgt[^a]*.a
%{_libdir}/%{name}/libhblang.a
%{_libdir}/%{name}/libhbmacro.a
%{_libdir}/%{name}/libhbextern.a
%{_libdir}/%{name}/libhbnulrdd.a
%{_libdir}/%{name}/libhbnortl.a
%{_libdir}/%{name}/libhbpp.a
%{_libdir}/%{name}/libhbrdd.a
%{_libdir}/%{name}/libhbhsx.a
%{_libdir}/%{name}/libhbsix.a
%{_libdir}/%{name}/libhbrtl.a
%{_libdir}/%{name}/libhbvm.a
%{_libdir}/%{name}/libhbvmmt.a
%{_libdir}/%{name}/libhbusrrdd.a
%{_libdir}/%{name}/libhbuddall.a
%{_libdir}/%{name}/libhbbz2.a
%{_libdir}/%{name}/libhbcomm.a
%{_libdir}/%{name}/libhbexpat.a
%{_libdir}/%{name}/libhbformat.a
%{_libdir}/%{name}/libhblzf.a
%{_libdir}/%{name}/libhbmemio.a
%{_libdir}/%{name}/libhbmlzo.a
%{_libdir}/%{name}/libhbmxml.a
%{_libdir}/%{name}/libhbsqlit3.a
%{_libdir}/%{name}/libhbunix.a
%{_libdir}/%{name}/libhbzebra.a
%{_libdir}/%{name}/libhbhttpd.a
%{?_with_localzlib:%{_libdir}/%{name}/libhbzlib.a}
%{?_with_localpcre:%{_libdir}/%{name}/libhbpcre.a}
%files lib
%defattr(755,root,root,755)
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libharbour*.so*
%{!?hb_ldconf:%{_libdir}/libharbour*.so*}
%attr(644,root,root) %{?hb_ldconf:%{hb_ldconf}/%{name}.conf}
%files contrib
%defattr(644,root,root,755)
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/libhbnf.a
%{_libdir}/%{name}/libhbblink.a
%{_libdir}/%{name}/libhbmisc.a
%{_libdir}/%{name}/libminizip.a
%{_libdir}/%{name}/libhbmzip.a
%{_libdir}/%{name}/libhbnetio.a
%{_libdir}/%{name}/libhbct.a
%{_libdir}/%{name}/libhbtip*.a
%{_libdir}/%{name}/libhbfoxpro.a
%{_libdir}/%{name}/libhbfship.a
%{_libdir}/%{name}/libhbxpp.a
%{_libdir}/%{name}/libxhb.a
%{_libdir}/%{name}/libhbhpdf.a
%{_libdir}/%{name}/libhbgt.a
%{_libdir}/%{name}/libhbtpathy.a
%{_libdir}/%{name}/libhbziparc.a
%{_libdir}/%{name}/librddbm.a
%{_libdir}/%{name}/librddsql.a
%{_libdir}/%{name}/libsddsqlt3.a
%{_libdir}/%{name}/libhbsms.a
%([ -f %{buildroot}%{_libdir}/%{name}/libhbssl.a ] && echo %{_libdir}/%{name}/libhbssl.a)
%{?_with_ads:%files ads}
%{?_with_ads:%defattr(644,root,root,755)}
%{?_with_ads:%dir %{_libdir}/%{name}}
%{?_with_ads:%{_libdir}/%{name}/librddads.a}
%{?_with_allegro:%files allegro}
%{?_with_allegro:%defattr(644,root,root,755)}
%{?_with_allegro:%dir %{_libdir}/%{name}}
%{?_with_allegro:%{_libdir}/%{name}/libgtalleg.a}
%{?_with_cairo:%files cairo}
%{?_with_cairo:%defattr(644,root,root,755)}
%{?_with_cairo:%dir %{_libdir}/%{name}}
%{?_with_cairo:%{_libdir}/%{name}/libhbcairo.a}
%{?_with_cups:%files cups}
%{?_with_cups:%defattr(644,root,root,755)}
%{?_with_cups:%dir %{_libdir}/%{name}}
%{?_with_cups:%{_libdir}/%{name}/libhbcups.a}
%{?_with_curl:%files curl}
%{?_with_curl:%defattr(644,root,root,755)}
%{?_with_curl:%dir %{_libdir}/%{name}}
%{?_with_curl:%{_libdir}/%{name}/libhbcurl.a}
%{?_with_firebird:%files firebird}
%{?_with_firebird:%defattr(644,root,root,755)}
%{?_with_firebird:%dir %{_libdir}/%{name}}
%{?_with_firebird:%{_libdir}/%{name}/libhbfbird.a}
%{?_with_firebird:%{_libdir}/%{name}/libsddfb.a}
#%{?_with_freeimage:%files freeimage}
#%{?_with_freeimage:%defattr(644,root,root,755)}
#%{?_with_freeimage:%dir %{_libdir}/%{name}}
#%{?_with_freeimage:%{_libdir}/%{name}/libhbfimage.a}
%{?_with_gd:%files gd}
%{?_with_gd:%defattr(644,root,root,755)}
%{?_with_gd:%dir %{_libdir}/%{name}}
%{?_with_gd:%{_libdir}/%{name}/libhbgd.a}
%{?_with_mysql:%files mysql}
%{?_with_mysql:%defattr(644,root,root,755)}
%{?_with_mysql:%dir %{_libdir}/%{name}}
%{?_with_mysql:%{_libdir}/%{name}/libhbmysql.a}
%{?_with_mysql:%{_libdir}/%{name}/libsddmy.a}
%{?_with_odbc:%files odbc}
%{?_with_odbc:%defattr(644,root,root,755)}
%{?_with_odbc:%dir %{_libdir}/%{name}}
%{?_with_odbc:%{_libdir}/%{name}/libhbodbc.a}
%{?_with_odbc:%{_libdir}/%{name}/libsddodbc.a}
%{?_with_pgsql:%files pgsql}
%{?_with_pgsql:%defattr(644,root,root,755)}
%{?_with_pgsql:%dir %{_libdir}/%{name}}
%{?_with_pgsql:%{_libdir}/%{name}/libhbpgsql.a}
%{?_with_pgsql:%{_libdir}/%{name}/libsddpg.a}
######################################################################
## Spec file Changelog.
######################################################################
%changelog
* Thu Aug 05 2008 Viktor Szakats (harbour syenar.net)
- removed hbdot, hbverfix, hbpptest
- hbrun now fully replaces hbdot.
* Thu Aug 23 2007 Przemyslaw Czerpak <druzus@priv.onet.pl>
+ added hbdot
- removed PP package
* Fri Mar 23 2005 Przemyslaw Czerpak <druzus@priv.onet.pl>
- removed bison and flex from dependences list
* Sat Aug 09 2003 Przemyslaw Czerpak <druzus@polbox.com>
- removed ${RPM_OPT_FLAGS} from HB_USER_CFLAGS
* Wed Jul 23 2003 Przemyslaw Czerpak <druzus@polbox.com>
- fixed file (user and group) owner for RPMs builded from non root account
- shared lib names changed from [x]harbour{mt,}.so to
[x]harbour{mt,}-<version>.so and soft links with short names created
- 0.82 version set
* Wed Apr 30 2003 Przemyslaw Czerpak <druzus@polbox.com>
- new tool "hb-build" (hbcmp, hblnk, hbmk) added -
compiler/linker wrapper.
- new tool "hb-mkdyn" (build shared libraries from static ones and object
files).
- shared libraries added.
- binary package divided.
* Fri Mar 08 2002 Dave Pearson <davep@davep.org>
- Fixed gharbour so that it should work no matter the case of the name of
the PRG file.
* Wed Feb 13 2002 Dave Pearson <davep@davep.org>
- Fixed a bug in harbour-link which meant that, since the environment
changes of Jan 17 2002, users could not specify which GT library they
wanted their application linked against.
* Tue Jan 22 2002 Dave Pearson <davep@davep.org>
- Used the "name" macro a lot more, especially in some paths.
* Thu Jan 17 2002 Dave Pearson <davep@davep.org>
- Removed the use of the /etc/profile.d scripts for setting the
harbour environment variables. The settings are now placed
directly in gharbour and harbour-link. This means that this .spec
file should be more useful on RPM using platforms other than RedHat.
* Wed Dec 19 2001 Dave Pearson <davep@davep.org>
- Added a platform ID to the name of the RPM.
* Mon Dec 17 2001 Dave Pearson <davep@davep.org>
- todo.txt is now called TODO.
* Tue Aug 21 2001 Dave Pearson <davep@davep.org>
- Added todo.txt as a doc file.
* Sun Jul 22 2001 Dave Pearson <davep@davep.org>
- harbour-link now fully respects the setting of $HB_GT_LIB.
- HB_GT_LIB wasn't set in the csh startup script. Fixed.
* Fri Jul 20 2001 Dave Pearson <davep@davep.org>
- Added the setting of $HB_GT_LIB to the environment (ncurses is used).
- Added support for installing hbmake.
* Mon Jun 28 2001 Dave Pearson <davep@davep.org>
- Changed the gharbour script so that it only invokes the C compiler if a C
file was output. This stops any error messages when someone is using the
-g option to output other target types.
* Mon Mar 19 2001 Dave Pearson <davep@davep.org>
- Reinstated hbrun in the files section.
* Tue Feb 20 2001 Dave Pearson <davep@davep.org>
- Added README.RPM to the documentation directory.
* Sat Jan 06 2001 Dave Pearson <davep@davep.org>
- The gharbour script now passes the harbour include directory, using -I,
to harbour.
* Thu Aug 24 2000 Dave Pearson <davep@davep.org>
- Changed the files section so that hbrun doesn't get installed. It isn't
useful on GNU/Linux systems.
* Tue Aug 22 2000 Dave Pearson <davep@davep.org>
- Changed the 'egcs' requirement to 'gcc'.
* Mon Aug 21 2000 Przemyslaw Czerpak <druzus@polbox.com>
- Polish translation added
- BuildRoot marco added. Now you can build the package from normal user
account.
- bison and flex added to BuildPrereq list
- Debug information is stripped from installed files.
* Wed Aug 02 2000 Dave Pearson <davep@davep.org>
- Removed hbtest from the list of files installed into the bin directory.
- Added 'bash' and 'sh-utils' to the list of required packages.
* Tue Aug 01 2000 Dave Pearson <davep@davep.org>
- Added harbour environment scripts to /etc/profile.d.
- Added generation of gharbour and harbour-link commands.
* Mon Jul 31 2000 Dave Pearson <davep@davep.org>
- Re-worked the layout of the spec file to make it cleaner and easier to
read and maintain.
- The latest harbour ChangeLog.txt is now installed into the RPM's doc
directory.
- The content of the RPM's doc directory reflects the layout and content of
the harbour source's doc directory.

170
package/mpkg_rpm.sh Executable file
View File

@@ -0,0 +1,170 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2003 Przemyslaw Czerpak <druzus@polbox.com>
# simple script to build RPMs from Harbour sources
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
test_reqrpm()
{
rpm -q --whatprovides "$1" >/dev/null 2>&1
}
NEED_RPM="make gcc binutils bash"
FORCE=""
LAST=""
while [ $# -gt 0 ]
do
if [ "$1" = "--force" ]
then
FORCE="yes"
else
INST_PARAM="${INST_PARAM} $1"
if [ "${LAST}" = "--with" ]
then
[ "$1" = "mysql" ] && NEED_RPM="${NEED_RPM} mysql-devel"
[ "$1" = "odbc" ] && NEED_RPM="${NEED_RPM} unixODBC-devel"
[ "$1" = "pgsql" ] && NEED_RPM="${NEED_RPM} postgresql-devel"
[ "$1" = "firebird" ] && NEED_RPM="${NEED_RPM} firebird-devel"
[ "$1" = "freeimage" ] && NEED_RPM="${NEED_RPM} freeimage-devel"
[ "$1" = "allegro" ] && NEED_RPM="${NEED_RPM} allegro-devel"
fi
fi
LAST="$1"
shift
done
if [ -f /usr/local/ads/acesdk/ace.h ] || [ -f ${HOME}/ads/acesdk/ace.h ]
then
INST_PARAM="${INST_PARAM} --with ads"
fi
if test_reqrpm "allegro-devel"
then
INST_PARAM="${INST_PARAM} --with allegro"
fi
if test_reqrpm "cairo-devel"
then
INST_PARAM="${INST_PARAM} --with cairo"
fi
if test_reqrpm "libcups2-devel"
then
INST_PARAM="${INST_PARAM} --with cups"
fi
if test_reqrpm "curl-devel"
then
INST_PARAM="${INST_PARAM} --with curl"
fi
if test_reqrpm "firebird-devel"
then
INST_PARAM="${INST_PARAM} --with firebird"
fi
if test_reqrpm "freeimage-devel"
then
INST_PARAM="${INST_PARAM} --with freeimage"
fi
if test_reqrpm "gd-devel"
then
v=`rpm -q --whatprovides gd-devel --qf "%{VERSION}"|sed -e "s/[^0-9]*\([0-9]*\).*/\1/g"`
[ "$v" -ge 2 ] && INST_PARAM="${INST_PARAM} --with gd"
fi
if test_reqrpm "MySQL-devel" || test_reqrpm "mysql-devel"
then
INST_PARAM="${INST_PARAM} --with mysql"
fi
if test_reqrpm "unixodbc-devel" || test_reqrpm "unixODBC-devel"
then
INST_PARAM="${INST_PARAM} --with odbc"
fi
if test_reqrpm "postgresql-devel"
then
INST_PARAM="${INST_PARAM} --with pgsql"
fi
if [ "${HB_BUILD_NOGPLLIB}" = "yes" ]
then
INST_PARAM="${INST_PARAM} --without gpllib"
fi
if [ "${HB_BUILD_NOGPLLIB}" = "yes" ] || ! test_reqrpm "gpm-devel"
then
INST_PARAM="${INST_PARAM} --without gpm"
fi
if ! test_reqrpm "XFree86-devel"
then
INST_PARAM="${INST_PARAM} --without X11"
fi
if ! test_reqrpm ncurses || ! test_reqrpm ncurses-devel
then
INST_PARAM="${INST_PARAM} --without curses"
fi
if ! test_reqrpm slang || ! test_reqrpm slang-devel
then
INST_PARAM="${INST_PARAM} --without slang"
fi
if [ ! -f /usr/include/zlib.h ] && [ ! -f /usr/local/include/zlib.h ]
then
INST_PARAM="${INST_PARAM} --with localzlib"
fi
if [ ! -f /usr/include/pcre.h ] && [ ! -f /usr/local/include/pcre.h ]
then
INST_PARAM="${INST_PARAM} --with localpcre"
fi
TOINST_LST=""
for i in ${NEED_RPM}
do
test_reqrpm "$i" || TOINST_LST="${TOINST_LST} $i"
done
if [ -z "${TOINST_LST}" ] || [ "${FORCE}" = "yes" ]
then
cd `dirname $0`
. ./mpkg_src.sh
stat="$?"
if [ -z "${hb_filename}" ]
then
echo "The script ./mpkg_src.sh doesn't set archive name to \${hb_filename}"
exit 1
elif [ "${stat}" != 0 ]
then
echo "Error during packing the sources in ./mpkg_src.sh"
exit 1
elif [ -f ${hb_filename} ]
then
if [ `id -u` != 0 ] && [ ! -f ${HOME}/.rpmmacros ]
then
RPMDIR="${HOME}/RPM"
mkdir -p ${RPMDIR}/SOURCES ${RPMDIR}/RPMS ${RPMDIR}/SRPMS \
${RPMDIR}/BUILD ${RPMDIR}/SPECS
echo "%_topdir ${RPMDIR}" > ${HOME}/.rpmmacros
else
RPMDIR=`rpm --eval %_topdir`
fi
mv -f ${hb_filename} ${RPMDIR}/SOURCES/
cp harbour.spec ${RPMDIR}/SPECS/
if which rpmbuild >/dev/null 2>&1
then
RPMBLD="rpmbuild"
else
RPMBLD="rpm"
fi
cd ${RPMDIR}/SPECS
${RPMBLD} -ba harbour.spec ${INST_PARAM}
else
echo "Cannot find archive file: ${hb_filename}"
exit 1
fi
else
echo "If you want to build Harbour compiler"
echo "you have to install the folowing RPM files:"
echo "${TOINST_LST}"
exit 1
fi

111
package/mpkg_rpm_wce.sh Executable file
View File

@@ -0,0 +1,111 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
# simple script to build Harbour-WinCE cross build RPMs
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
test_reqrpm()
{
rpm -q --whatprovides "$1" >/dev/null 2>&1
}
get_rpmmacro()
{
local R X Y
R=`rpm --showrc|sed -e "/^-14:.${1}[^a-z0-9A-Z_]/ !d" -e "s/^-14: ${1}.//"`
X=`echo "${R}"|sed -e "s/.*\(%{\([^}]*\)}\).*/\2/"`
while [ "${X}" != "${R}" ]
do
Y=`get_rpmmacro "$X"`
if [ -n "${Y}" ]
then
R=`echo "${R}"|sed -e "s!%{${X}}!${Y}!g"`
X=`echo "${R}"|sed -e "s/.*\(%{\([^}]*\)}\).*/\2/"`
else
X="${R}"
fi
done
echo -n "${R}"
}
cd `dirname $0`
. ./mpkg_ver.sh
hb_ver=`get_hbver`
hb_verstat=`get_hbverstat`
[ -n "${hb_verstat}" ] || hb_verstat="0"
NEED_RPM="make gcc binutils bash cegcc-mingw32ce"
FORCE=""
LAST=""
while [ $# -gt 0 ]
do
if [ "$1" = "--force" ]
then
FORCE="yes"
else
INST_PARAM="${INST_PARAM} $1"
fi
LAST="$1"
shift
done
TOINST_LST=""
for i in ${NEED_RPM}
do
test_reqrpm "$i" || TOINST_LST="${TOINST_LST} $i"
done
if [ -z "${TOINST_LST}" ] || [ "${FORCE}" = "yes" ]
then
. ./mpkg_src.sh
stat="$?"
if [ -z "${hb_filename}" ]
then
echo "The script ./mpkg_src.sh doesn't set archive name to \${hb_filename}"
exit 1
elif [ "${stat}" != 0 ]
then
echo "Error during packing the sources in ./mpkg_src.sh"
exit 1
elif [ -f ${hb_filename} ]
then
if [ `id -u` != 0 ] && [ ! -f ${HOME}/.rpmmacros ]
then
RPMDIR="${HOME}/RPM"
mkdir -p ${RPMDIR}/SOURCES ${RPMDIR}/RPMS ${RPMDIR}/SRPMS \
${RPMDIR}/BUILD ${RPMDIR}/SPECS
echo "%_topdir ${RPMDIR}" > ${HOME}/.rpmmacros
else
RPMDIR=`get_rpmmacro "_topdir"`
fi
mv ${hb_filename} ${RPMDIR}/SOURCES/
sed -e "s/^%define version .*$/%define version ${hb_ver}/g" \
-e "s/^%define releasen .*$/%define releasen ${hb_verstat}/g" \
harbour-wce.spec.in > ${RPMDIR}/SPECS/harbour-wce.spec
if which rpmbuild >/dev/null 2>&1
then
RPMBLD="rpmbuild"
else
RPMBLD="rpm"
fi
cd ${RPMDIR}/SPECS
${RPMBLD} -ba harbour-wce.spec ${INST_PARAM}
else
echo "Cannot find archive file: ${hb_filename}"
exit 1
fi
else
echo "If you want to build Harbour compiler"
echo "you have to install the folowing RPM files:"
echo "${TOINST_LST}"
exit 1
fi

134
package/mpkg_rpm_win.sh Executable file
View File

@@ -0,0 +1,134 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2007 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
# simple script to build Harbour-Win32 cross build RPMs
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
test_reqrpm()
{
rpm -q --whatprovides "$1" >/dev/null 2>&1
}
get_rpmmacro()
{
local R X Y
R=`rpm --showrc|sed -e "/^-14:.${1}[^a-z0-9A-Z_]/ !d" -e "s/^-14: ${1}.//"`
X=`echo "${R}"|sed -e "s/.*\(%{\([^}]*\)}\).*/\2/"`
while [ "${X}" != "${R}" ]
do
Y=`get_rpmmacro "$X"`
if [ -n "${Y}" ]
then
R=`echo "${R}"|sed -e "s!%{${X}}!${Y}!g"`
X=`echo "${R}"|sed -e "s/.*\(%{\([^}]*\)}\).*/\2/"`
else
X="${R}"
fi
done
echo -n "${R}"
}
for d in /usr /usr/local /usr/local/mingw32 /opt/xmingw /opt/cross
do
if [ -z "${TARGET}" ]
then
TARGET=`find $d/bin -maxdepth 1 -name "i[3456]86*-mingw*-gcc" \
2>/dev/null | \
sed -e '1 !d' -e 's/.*\(i[3456]86.*-mingw[^-]*\).*/\1/g'`
MINGW_DIR=$d
fi
done
if [ -z "${TARGET}" ]
then
echo "Can't determine the location for the MinGW32 cross-compiler."
echo "Please install it or add valid path to the $0 script."
exit 1
fi
HB_CCPREFIX="$TARGET-"
HB_CCPATH="$MINGW_DIR/bin"
cd `dirname $0`
. ./mpkg_ver.sh
hb_ver=`get_hbver`
hb_verstat=`get_hbverstat`
[ -n "${hb_verstat}" ] || hb_verstat="0"
NEED_RPM="make gcc binutils bash"
FORCE=""
LAST=""
while [ $# -gt 0 ]
do
if [ "$1" = "--force" ]
then
FORCE="yes"
else
INST_PARAM="${INST_PARAM} $1"
fi
LAST="$1"
shift
done
TOINST_LST=""
for i in ${NEED_RPM}
do
test_reqrpm "$i" || TOINST_LST="${TOINST_LST} $i"
done
if [ -z "${TOINST_LST}" ] || [ "${FORCE}" = "yes" ]
then
. ./mpkg_src.sh
stat="$?"
if [ -z "${hb_filename}" ]
then
echo "The script ./mpkg_src.sh doesn't set archive name to \${hb_filename}"
exit 1
elif [ "${stat}" != 0 ]
then
echo "Error during packing the sources in ./mpkg_src.sh"
exit 1
elif [ -f ${hb_filename} ]
then
if [ `id -u` != 0 ] && [ ! -f ${HOME}/.rpmmacros ]
then
RPMDIR="${HOME}/RPM"
mkdir -p ${RPMDIR}/SOURCES ${RPMDIR}/RPMS ${RPMDIR}/SRPMS \
${RPMDIR}/BUILD ${RPMDIR}/SPECS
echo "%_topdir ${RPMDIR}" > ${HOME}/.rpmmacros
else
RPMDIR=`get_rpmmacro "_topdir"`
fi
mv ${hb_filename} ${RPMDIR}/SOURCES/
sed -e "s|^%define version .*$|%define version ${hb_ver}|g" \
-e "s|^%define releasen .*$|%define releasen ${hb_verstat}|g" \
-e "s|^%define hb_ccpath .*$|%define hb_ccpath ${HB_CCPATH}|g" \
-e "s|^%define hb_ccpref .*$|%define hb_ccpref ${HB_CCPREFIX}|g" \
harbour-win.spec.in > ${RPMDIR}/SPECS/harbour-win.spec
if which rpmbuild >/dev/null 2>&1
then
RPMBLD="rpmbuild"
else
RPMBLD="rpm"
fi
cd ${RPMDIR}/SPECS
${RPMBLD} -ba harbour-win.spec ${INST_PARAM}
else
echo "Cannot find archive file: ${hb_filename}"
exit 1
fi
else
echo "If you want to build Harbour compiler"
echo "you have to install the folowing RPM files:"
echo "${TOINST_LST}"
exit 1
fi

108
package/mpkg_src.sh Executable file
View File

@@ -0,0 +1,108 @@
#!/bin/sh
#
# $Id$
#
# This script requires "TAR" utilities for compression.
if [ "$1" = "zip" ] || [ "$1" = "ZIP" ]; then
hb_archbin="zip"
hb_ext=".zip"
elif tar --version >/dev/null 2>&1; then
hb_archbin="tar"
hb_gnutar="yes"
elif gtar --version >/dev/null 2>&1; then
hb_archbin="gtar"
hb_gnutar="yes"
else
hb_archbin="tar"
hb_gnutar="no"
echo "Warning!!! Cannot find GNU TAR"
fi
hb_currdir=`pwd`
hb_archopt="-czf"
[ -n "${hb_ext}" ] || hb_ext=".tar.gz"
if [ -f mpkg_ver.sh ]; then
hb_rootdir=".."
else
hb_rootdir=`dirname $0`
hb_rootdir=`dirname ${hb_rootdir}`
fi
. ${hb_rootdir}/package/mpkg_ver.sh
hb_ver=`get_hbver ${hb_rootdir}`
hb_filename="${hb_currdir}/harbour-${hb_ver}.src${hb_ext}"
rm -f $hb_filename
#[ -z "$TZ" ] && export TZ=PST8PDT
hb_get_entries()
{
if [ "$format" = 8 ]; then
sed -e '/^\f/,+1 !d' -e '/[a-zA-Z0-9_]/ !d' $1/entries
else
sed -e '/^[ ]*name="..*"[\r]*$/ !d' -e 's/^[ ]*name="\(.*\)".*$/\1/g' $1/entries
fi
}
hb_collect_all()
{
for d in `find . -name ".svn"`
do
for f in `hb_get_entries $d`
do
f="`dirname $d`/$f"
[ -f "$f" ] && echo "$f"
done
done
}
hb_collect_all_svn()
{
for f in `svn status -v|sed -e '/^?/ d' -e 's/.* \([^ ]*\)/\1/g'`
do
[ -f "$f" ] && echo "$f"
done
}
hb_collect_all_tree()
{
exclude="/obj/|/lib/|/bin/.*/|\.tar|\.zip|\.exe|\.log|/linux/|/win|/config/"
for f in `find -type f | grep -vE ${exclude}`
do
echo ${f:2}
done
for f in `find config -type f`
do
echo ${f}
done
}
hb_rmflst="yes"
hb_flst="bin/hb_flst.tmp"
#if [ -d "$hb_rootdir/.svn" ] || [ ! -r "$hb_rootdir/$hb_flst" ]; then
if [ -d "$hb_rootdir/.svn" ] ; then
hb_rmflst="yes"
#format=`cat $hb_rootdir/.svn/format`
if [ "$format" = 4 ] || [ "$format" = 8 ]; then
(cd "$hb_rootdir";hb_collect_all) > "$hb_rootdir/$hb_flst"
else
(cd "$hb_rootdir";hb_collect_all_svn) > "$hb_rootdir/$hb_flst"
fi
echo "$hb_flst" >> "$hb_rootdir/$hb_flst"
else
hb_rmflst="yes"
(cd "$hb_rootdir";hb_collect_all_tree) > "$hb_rootdir/$hb_flst"
fi
if [ "$hb_archbin" = "zip" ]; then
(cd "$hb_rootdir";$hb_archbin -r -q $hb_filename . "-i@$hb_flst")
else
(cd "$hb_rootdir";$hb_archbin $hb_archopt $hb_filename --files-from "$hb_flst")
fi
[ "$hb_rmflst" != "yes" ] || rm -fR "$hb_rootdir/$hb_flst"
cd "$hb_currdir"

106
package/mpkg_src_nightly.sh Executable file
View File

@@ -0,0 +1,106 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2010 Viktor Szakats (harbour syenar.net)
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
#
# HOWTO upload unattended to sourceforge.net
# ==========================================
#
# 1. Generate SSH key pair:
#
# $ ssh-keygen -t dsa -C "$HB_SFNET_USER,harbour-project@frs.sourceforge.net"
#
# where '$HB_SFNET_USER' is your sf.net username.
#
# IMPORTANT: Leave pass-phrase empty
#
# 2. Paste content of generated public key file (by default 'id_dsa.pub') into
# 'Authorized keys' edit box and press 'Update' button on this page:
#
# https://sourceforge.net/account/ssh
#
# You have to be logged in to sf.net.
#
# 3. Wait up to 10 minutes for key to be activated
#
# 4. Now you can use your private key file (by default 'id_dsa') instead of
# password to upload files. To use this script as is, set 'HB_SFNET_FRS_PRIVATE_KEY'
# envvar to your private key file and 'HB_SFNET_USER' envvar to your
# sf.net username, f.e.:
#
# $ export HB_SFNET_FRS_PRIVATE_KEY=~/.ssh/id_dsa
# $ export HB_SFNET_USER=myuser
# $ ./mpkg_src_nightly.sh
#
# Official link with more detailed procedures:
# http://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20keys
#
echo Starting Harbour nightly source package creation...
rm -f harbour-nightly-src.zip harbour-nightly.tar.bz2 harbour-nightly.tar.gz harbour-nightly.tar.xz
rm -f -r _hb_mpkg_src
mkdir _hb_mpkg_src || {
echo "Failed to create directory _hb_mpkg_src"
exit 1
}
cd _hb_mpkg_src
echo Downloading sources with LF line ending...
svn export -q --native-eol LF http://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
echo Creating bz2, gz packages...
tar -c harbour/* > harbour-nightly.tar
bzip2 -c -z harbour-nightly.tar > ../harbour-nightly.tar.bz2
gzip -c harbour-nightly.tar > ../harbour-nightly.tar.gz
xz -c harbour-nightly.tar > ../harbour-nightly.tar.xz
rm harbour-nightly.tar
echo Downloading sources with CRLF line ending...
rm -f -r harbour
svn export -q --native-eol CRLF http://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
echo Creating zip package...
zip -q -X -r -o ../harbour-nightly-src.zip harbour/*
cd ..
rm -f -r _hb_mpkg_src
destdir="/home/frs/project/h/ha/harbour-project/source/nightly/"
if [ -d $destdir ]
then
echo Copying packages to sf.net file release area...
cp harbour-nightly-src.zip $destdir
cp harbour-nightly.tar.bz2 $destdir
cp harbour-nightly.tar.gz $destdir
cp harbour-nightly.tar.xz $destdir
else
if [ "$HB_SFNET_FRS_PRIVATE_KEY" -a "$HB_SFNET_USER" ]
then
echo Uploading packages to sf.net file release area...
desthost=",harbour-project@frs.sourceforge.net:"
scp -i $HB_SFNET_FRS_PRIVATE_KEY harbour-nightly-src.zip $HB_SFNET_USER$desthost$destdir
scp -i $HB_SFNET_FRS_PRIVATE_KEY harbour-nightly.tar.bz2 $HB_SFNET_USER$desthost$destdir
scp -i $HB_SFNET_FRS_PRIVATE_KEY harbour-nightly.tar.gz $HB_SFNET_USER$desthost$destdir
scp -i $HB_SFNET_FRS_PRIVATE_KEY harbour-nightly.tar.xz $HB_SFNET_USER$desthost$destdir
fi
fi
rm -f harbour-nightly-src.zip harbour-nightly.tar.bz2 harbour-nightly.tar.gz harbour-nightly.tar.xz
echo Ended Harbour nightly source package creation.

30
package/mpkg_ver.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2003 Przemyslaw Czerpak <druzus@priv.onet.pl>
# small set of functions used by Harbour scripts
# warning: some bash extensions are used
#
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
get_hbver()
{
hb_rootdir="${1-..}"
FVER="${hb_rootdir}/include/hbver.h"
MAJOR=`sed -e '/HB_VER_MAJOR/ !d' -e 's/[^0-9]*\([^ ]*\).*/\1/g' "${FVER}"`
MINOR=`sed -e '/HB_VER_MINOR/ !d' -e 's/[^0-9]*\([^ ]*\).*/\1/g' "${FVER}"`
RELEA=`sed -e '/HB_VER_RELEASE/ !d' -e 's/[^0-9]*\([^ ]*\).*/\1/g' "${FVER}"`
echo "${MAJOR}.${MINOR}.${RELEA}"
}
get_hbverstat()
{
hb_rootdir="${1-..}"
FVER="${hb_rootdir}/include/hbver.h"
VERSTAT=`sed -e '/HB_VER_STATUS/ !d' -e 's/[^\"]*\"\([^\"]*\).*/\1/g' "${FVER}"`
echo "${VERSTAT}"
}

176
package/mpkg_win.nsi Normal file
View File

@@ -0,0 +1,176 @@
;
; $Id$
;
; ---------------------------------------------------------------
; Copyright 2009 Viktor Szakats (harbour syenar.net)
; See COPYING.txt for licensing terms.
;
; Harbour Nullsoft installer script (for Windows/MS-DOS)
; [ Do not try to use this script directly. It won't work. ]
;
; See README.txt for further information.
; ---------------------------------------------------------------
SetCompressor /solid lzma
!include "MUI2.nsh"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
!define MUI_ICON "harb_win.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
SetDateSave on
SetDatablockOptimize on
CRCCheck on
RequestExecutionLevel user
; The name of the installer
Name "Harbour"
; The file to write
OutFile "$%HB_TOP%\$%HB_PKGNAME%.exe"
InstallDir C:\$%HB_PKGNAMI%
;--------------------------------
; Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
; Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE $(MUILicense)
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
; Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
; License Language String
LicenseLangString MUILicense ${LANG_ENGLISH} "$%HB_INSTALL_PREFIX%\COPYING.txt"
;--------------------------------
; The stuff to install
Section "Main components" hb_main
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR
File /nonfatal "$%HB_INSTALL_PREFIX%\COPYING.txt"
File /nonfatal "$%HB_INSTALL_PREFIX%\README.txt"
; Let it work also for MS-DOS packages where short filename is used here
File /nonfatal "$%HB_INSTALL_PREFIX%\Change*"
SetOutPath $INSTDIR\bin
File "$%HB_INSTALL_PREFIX%\bin\*.*"
SetOutPath $INSTDIR\lib
File /r "$%HB_INSTALL_PREFIX%\lib\*.*"
SetOutPath $INSTDIR\include
File "$%HB_INSTALL_PREFIX%\include\*.*"
SetOutPath $INSTDIR\doc
File "$%HB_INSTALL_PREFIX%\doc\*.*"
; Write the installation path into the registry
; WriteRegStr HKLM "SOFTWARE\Harbour" "InstallDir" "$INSTDIR"
WriteRegStr HKCU "Software\Harbour" "InstallDir" "$INSTDIR"
; Write the uninstall keys for Windows
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "DisplayName" "Harbour"
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "UninstallString" '"$INSTDIR\uninstall.exe"'
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoModify" 1
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
; The stuff to install
Section "Examples" hb_examples
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR\tests
SectionEnd
; Optional section (can be disabled by the user)
Section "Start Menu and Desktop icons" hb_shortcuts
; this will be the working dir for shortcuts
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateDirectory "$SMPROGRAMS\Harbour"
CreateShortCut "$SMPROGRAMS\Harbour\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Command line).lnk" "cmd.exe" "/k cd $INSTDIR\bin" "cmd.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Interactive shell).lnk" "$INSTDIR\bin\hbrun.exe" "" "$INSTDIR\bin\hbrun.exe" 0
CreateDirectory "$SMPROGRAMS\Harbour\Links"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Homepage.url" "InternetShortcut" "URL" "http://harbour-project.org/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Sourceforge Page.url" "InternetShortcut" "URL" "http://sourceforge.net/projects/harbour-project/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Users' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-users/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Developers' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-devel/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Development Timeline.url" "InternetShortcut" "URL" "http://sourceforge.net/apps/trac/harbour-project/timeline"
SectionEnd
;--------------------------------
; Descriptions
; Language strings
LangString DESC_hb_main ${LANG_ENGLISH} "Main components"
LangString DESC_hb_shortcuts ${LANG_ENGLISH} "Add icons to Start Menu and Desktop"
LangString DESC_hb_examples ${LANG_ENGLISH} "Samples and tests"
; Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${hb_main} $(DESC_hb_main)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_shortcuts} $(DESC_hb_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_examples} $(DESC_hb_examples)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Uninstaller
Section "Uninstall"
; Remove files and uninstaller
RMDir /r $INSTDIR
; Remove directories used
Delete "$SMPROGRAMS\Harbour\Links\*.*"
RMDir "$SMPROGRAMS\Harbour\Links"
Delete "$SMPROGRAMS\Harbour\*.*"
RMDir "$SMPROGRAMS\Harbour"
RMDir "$INSTDIR"
Delete "$DESKTOP\Harbour.lnk"
; DeleteRegKey HKLM "SOFTWARE\Harbour"
DeleteRegKey HKCU "Software\Harbour"
SectionEnd

View File

@@ -0,0 +1,132 @@
@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2010 Viktor Szakats (harbour syenar.net)
rem See COPYING.txt for licensing terms.
rem ---------------------------------------------------------------
rem ---------------------------------------------------------------
rem REQUIREMENTS FOR BUILD MACHINE:
rem - Online 24/7 (reliable)
rem - Windows XP or higher (server preferred)
rem - 8GB disk space
rem - downstream internet traffic 100MB per day
rem - upstream internet traffic 100MB per day
rem - 1-5hours CPU time per day
rem - Multicore CPU recommended
rem - admin rights for MSVC setup
rem - admin rights for Scheduled Task setup
rem - remote admin (via RDC or VNC protocol, RDC preferred)
rem
rem NOTES:
rem - The first run under a new (or reinstalled) user account
rem must be done interactively to confirm server identity
rem when doing SCP uploads.
rem ---------------------------------------------------------------
pushd
cd %~dp0
echo ! Self: %0
set _HB_DIR_3RD=%~dp03rd\
set _HB_DIR_COMP=%~dp0comp\
set _HB_DIR_TOOL=%~dp0tool\
echo ! Downloading Harbour sources...
if exist harbour rd /q /s harbour
%_HB_DIR_TOOL%svn\bin\svn export http://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour
if errorlevel 1 goto _EXIT
cd harbour
echo ! Setting up generic build parameters...
set HB_VF=nightly
set HB_VL=%HB_VF%
set HB_RT=%~dp0
set _HB_MAKE_OPTION=HB_VERSION=%HB_VF%
set _HB_SFNET_URL=,harbour-project@frs.sourceforge.net:/home/frs/project/h/ha/harbour-project/binaries-windows/nightly/
set HB_BUILD_PKG=yes
set HB_DIR_NSIS=%_HB_DIR_TOOL%nsis\
set HB_OPT_NSIS=/DPKG_NO_COMP_BCC /DPKG_NO_COMP_MSVC /DPKG_NO_COMP_MSVC64 /DPKG_NO_COMP_MINGW64 /DPKG_NO_COMP_MINGWARM /DPKG_NO_PLAT_LINUX /DPKG_NO_PLAT_OS2 /DPKG_NO_PLAT_DOS /DPKG_NO_COMP_WATCOM
set HB_DIR_ZIP=%_HB_DIR_TOOL%
set HB_DIR_7Z=%_HB_DIR_TOOL%
set HB_DIR_UPX=%_HB_DIR_TOOL%upx\
rem set HB_DIR_BCC_IMPLIB=%_HB_DIR_COMP%bcc\Bin\
set HB_DIR_MINGW=%_HB_DIR_COMP%mingw
set HB_WITH_ADS=%_HB_DIR_3RD%ads\acesdk
set HB_WITH_ALLEGRO=%_HB_DIR_3RD%allegro\include
set HB_WITH_BLAT=%_HB_DIR_3RD%blat\full\source
set HB_WITH_CAIRO=%_HB_DIR_3RD%cairo\include\cairo
set HB_WITH_CURL=%_HB_DIR_3RD%curl\include
set HB_WITH_FIREBIRD=%_HB_DIR_3RD%firebird\include
set HB_WITH_FREEIMAGE=%_HB_DIR_3RD%freeimage\Dist
set HB_WITH_GD=%_HB_DIR_3RD%gd\include
set HB_WITH_MYSQL=%_HB_DIR_3RD%mysql\include
set HB_WITH_OCILIB=%_HB_DIR_3RD%ocilib\include
set HB_WITH_OPENSSL=%_HB_DIR_3RD%openssl\include
set HB_WITH_PGSQL=%_HB_DIR_3RD%pgsql\include
echo ! Building Harbour...
setlocal
echo ! Setting environment for using MinGW GCC
set PATH=%_HB_DIR_COMP%mingw\bin
win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-mingw-log.txt" 2>&1
if errorlevel 1 goto _EXIT
endlocal
rem setlocal
rem echo ! Setting environment for using Borland C++
rem set PATH=%_HB_DIR_COMP%bcc\Bin
rem win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-bcc-log.txt" 2>&1
rem if errorlevel 1 goto _EXIT
rem endlocal
rem setlocal
rem echo ! Setting environment for using Open Watcom
rem SET WATCOM=%_HB_DIR_COMP%watcom
rem SET PATH=%WATCOM%\BINNT;%WATCOM%\BINW
rem SET EDPATH=%WATCOM%\EDDAT
rem SET INCLUDE=%WATCOM%\H;%WATCOM%\H\NT
rem win-make clean install %_HB_MAKE_OPTION% > "%~dp0harbour-nightly-win-watcom-log.txt" 2>&1
rem endlocal
rem echo ! Uploading Harbour Windows binaries...
rem
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-mingw.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-mingw.zip %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-bcc.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-bcc.zip %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-watcom.exe %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% harbour-nightly-win-watcom.zip %HB_SFNET_USER%%_HB_SFNET_URL%
echo ! Creating unified Windows package...
call package\winuni\mpkg_win_uni.bat
echo ! Uploading Harbour unified Windows package...
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win.exe %HB_SFNET_USER%%_HB_SFNET_URL%
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win.7z %HB_SFNET_USER%%_HB_SFNET_URL%
:_EXIT
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
%_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-mingw-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-bcc-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
rem %_HB_DIR_TOOL%pscp.exe -i %HB_SFNET_FRS_PRIVATE_KEY% %HB_RT%harbour-nightly-win-watcom-log.txt %HB_SFNET_USER%%_HB_SFNET_URL%
echo ! Finished.
popd

79
package/updt_web_nightly.sh Executable file
View File

@@ -0,0 +1,79 @@
#!/bin/sh
#
# $Id$
#
# ---------------------------------------------------------------
# Copyright 2012 Viktor Szakats (harbour syenar.net)
# See COPYING.txt for licensing terms.
# ---------------------------------------------------------------
#
# HOWTO upload unattended to sourceforge.net
# ==========================================
#
# 1. Generate SSH key pair:
#
# $ ssh-keygen -t dsa -C "$HB_SFNET_USER,harbour-project@web.sourceforge.net"
#
# where '$HB_SFNET_USER' is your sf.net username.
#
# IMPORTANT: Leave pass-phrase empty
#
# 2. Paste content of generated public key file (by default 'id_dsa.pub') into
# 'Authorized keys' edit box and press 'Update' button on this page:
#
# https://sourceforge.net/account/ssh
#
# You have to be logged in to sf.net.
#
# 3. Wait up to 10 minutes for key to be activated
#
# 4. Now you can use your private key file (by default 'id_dsa') instead of
# password to upload files. To use this script as is, set 'HB_SFNET_FRS_PRIVATE_KEY'
# envvar to your private key file and 'HB_SFNET_USER' envvar to your
# sf.net username, f.e.:
#
# $ export HB_SFNET_WEB_PRIVATE_KEY=~/.ssh/id_dsa
# $ export HB_SFNET_USER=myuser
# $ ./updt_web_nightly.sh
#
# Official link with more detailed procedures:
# http://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20keys
#
echo Starting Harbour website update...
rm -f -r _hb_web_src
mkdir _hb_web_src || {
echo "Failed to create directory _hb_web_src"
exit 1
}
cd _hb_web_src
echo Downloading sources...
svn export -q --native-eol LF http://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour/website
echo Updating website...
destdir="/home/groups/h/ha/harbour-project/htdocs/"
if [ -d $destdir ]
then
echo Copying site to sf.net web area...
rsync -r website/* $destdir
else
if [ "$HB_SFNET_WEB_PRIVATE_KEY" -a "$HB_SFNET_USER" ]
then
echo Uploading site to sf.net web area...
desthost=",harbour-project@web.sourceforge.net:"
rsync -zr -e "ssh -i $HB_SFNET_WEB_PRIVATE_KEY" website/* $HB_SFNET_USER$desthost$destdir
fi
fi
cd ..
rm -f -r _hb_web_src
echo Ended Harbour website update.

View File

@@ -0,0 +1,2 @@
Copy/install 3rd party Harbour libraries into this directory.

View File

@@ -0,0 +1,5 @@
If this directory is empty, download package from link below
and install into this directory.
http://www.delorie.com/djgpp/

View File

@@ -0,0 +1,8 @@
If this directory is empty, download package from below links
and unpack/install into this directory.
Non-official:
http://tdm-gcc.tdragon.net/
Official:
https://sourceforge.net/project/showfiles.php?group_id=2435

View File

@@ -0,0 +1,5 @@
If this directory is empty, download package from link below
and unpack into this directory.
http://sourceforge.net/projects/mingw-w64/files/

View File

@@ -0,0 +1,15 @@
If this directory is empty, download package from link below
and unpack into this directory.
http://sourceforge.net/projects/cegcc/files/
NOTES: - In order to unpack and *use* this package, you'll
need Cygwin package (from http://cygwin.com) installed
and put in PATH for Cygwin runtime (cygwin1.dll).
- Unpack using these commands:
> bzip2 -d cegcc_mingw32ce_cygwin1.7_r1375.tar.bz2
> tar -xvf cegcc_mingw32ce_cygwin1.7_r1375.tar -h
OR
> tar --force-local -xvf cegcc_mingw32ce_cygwin1.7_r1375.tar
- Move content of /opt/mingw32ce directory to this one.

View File

@@ -0,0 +1,5 @@
If this directory is empty, download package from link below
and unpack / install into this directory.
http://www.smorgasbordet.com/pellesc/

View File

@@ -0,0 +1,5 @@
If this directory is empty, download package from link below
and unpack / install into this directory.
http://www.openwatcom.org/

233
package/winuni/RELNOTES.txt Normal file
View File

@@ -0,0 +1,233 @@
Hi All,
Harbour 3.0.0 (r16951) source archives and Windows binary
releases are available for download on sourceforge.net:
http://sourceforge.net/projects/harbour-project/files/
Make sure to check README.txt "QUICK START" section and visit
our user mailing list at:
http://groups.google.com/group/harbour-users/
Release notes:
-----------------------------------------------------------------------
Unified Windows release for mainstream compilers and
x86, x64, WinCE/ARM platforms.
Installed size: 233MB (78MB - 322MB)
The default installation will install MinGW compiler + x86 static
and shared libs and MSVC x86 libs and examples.
Options: x86 shared tools, x64 shared tools, MinGW x64 and
WinCE-ARM libs, MSVC x64 libs, shared x64/WinCE-ARM libs.
Usage:
1) install/unpack to any directory (C:\hb30)
2) go to bin dir (optional if you specify path for hbmk2)
3) For x86 executable, type: 'hbmk2 ../tests/hello.prg'
4) For x64 executable, type: 'hbmk2 ../tests/hello.prg -comp=mingw64'
[needs mingw64 to be installed in 'comp/mingw64' dir beforehand]
5) For WinCE/ARM executable, type: 'hbmk2 ../tests/hello.prg -comp=mingwarm'
[needs cegcc to be installed in 'comp/mingwarm' dir beforehand]
Tool/lib versions used to create this package:
-----------------------------------------------------------------------
Compiler tools
--------------
MinGW GNU C 4.6.1 (TDM-DW2) (included)
MinGW w64 GNU C 4.5.3-20110207 (prerelease)
MinGW CeGCC 4.4.0
MSVC 2012 Update 1
External lib dependencies
-------------------------
ACE 11.00
Allegro 4.2.2
Blat 2.6.2
Cairo 1.8.8
libcurl 7.25.0
Firebird 2.5.0
FreeImage 3.15.4
GD 2.0.35
MySQL 5.5.13
OCILIB 3.10.0
OpenSSL 1.0.1
PostgreSQL 9.2.0-1
WATTCP 2.2.10
Changes since previous (2.0.0) release:
-----------------------------------------------------------------------
[TODO]
Changes since previous (2.0.0beta3 20090905) release:
-----------------------------------------------------------------------
- Harbour updated to r13359 (from r12422)
- MinGW CEGCC updated to 4.4.0
- upx updated to 3.04.
- MinGW 4.4.1 updated to TDM-2 release fixing a performance problem.
- MinGW w64 updated to latest binary release.
- DJGPP build in unified release replaced with OpenWatcom MS-DOS build.
- External libs updated (except OpenSSL and libcurl).
- hbwin cleanups/fixes (printer handling) and improvements (mutex, MAPI, misc)
- hbwin OLE2, ActiveX support improved and finalized.
- hbwin full UNICODE support and cleanups.
- hbwin basic win64 .dll support.
- hbtip POP3/SMTP fixes, encoding/charset support.
- Added hbmemio contrib.
- hbnetio finalized.
- hbqt cleanups and improvements, QT 4.6 support.
- hbide (early development stage).
- Documentation enhancements: README.txt and doc/xhb-diff.txt.
- hbmk2 got support to convert xMate, hbmake and xbuild make files to .hbp
format.
- Added hbsms contrib library (to send SMS text messages in multiplatform way).
- gtwvg now builds in win64 mode.
- Rudimentary port of GTWVW (find it in examples)
- New hbcairo wrapper for cairo lib.
- Improved code portability for startup code, C++ mode and
to support for old GCC versions.
- Added public Harbour C level API to handle GC collected pure pointers.
- Added workaround fox Pelles C 6.0 bug, so now it can be used
with Harbour for win32 and wince. Win64 build still doesn't work,
due to other POCC6 bugs.
- Fixed to support MSVC 6.0.
- dlmalloc memory allocator now also optimized for MT mode.
- DJGPP builds received support for .dxe dynamic libs.
- MS-DOS build included in unified release package is now built
with OpenWatcom rather than DJGPP.
- OpenWatcom now builds in plain C mode (instead of C++)
- Included MSVC build is now a UNICODE build.
- Changed all Harbour to use WIDE Windows API calls only in UNICODE mode.
- New Harbour C level UTF-8 and UTF-16 string handling functions.
- Rewritten internal codepage and collation support. Collations
are now ensured to be CA-Cl*pper compatible.
- hb_Translate() now supports UTF-8.
- OS/2 platform support improvements (watcom, .dll support, GCC OMF support).
- gtxwc fixes.
- General finalization to *nix Harbour dynamic library generation built into
build system.
- Generalized the way zlib and pcre embedded sources are handled.
- Finalized new pure GNU Make based build system.
- Embedded libharu made available for MS-DOS Harbour builds,
plus many other leveling of MS-DOS port.
- Added Blowfish encryption functions to core.
- Added experimental win64 binary build of GNU Make.
- Synced with some new features that appeared in xhb, plus some missing
features from past versions.
- New Harbour port to Haiku/BeOS.
- Updated embedded components.
- Cleaned all test code from Harbour -w3 level warnings.
- hbmk2 now supports the same C warning levels as build system.
- hbmk2 now supports built-in native .c / .prg dependency detection.
- hbmk2 tested/finalized for *nix systems.
- hbmk2 now supports upx on *nix systems.
- New hbdoc2 tool at development stage.
- Support for linux/open64, linux/clang compilers.
- Build system now uses automatic version detection for MSVC compilers.
- Core trace message functionality improvements (new .prg level
interface, Windows OutputDebugString support)
- New Set( _SET_DBCODEPAGE ).
- RDDADS fixes.
- Removed support for harbour.cfg and Harbour compiler -go output mode.
- New Harbour types (HB_SIZE, HB_BOOL, etc).
- Moved rddado from contrib area to examples.
- Deleted hbmake from examples.
- Many other smaller improvements, additions, fixes, cleanups.
- For 3rd party developers it's recommended to look for the word
"incompatibility" in ChangeLog.txt to find spots which may imply changes
on their part.
Changes since previous (2.0.0beta2 20090624) release:
-----------------------------------------------------------------------
- Harbour updated to r12422 (from r11508)
- Rewritten socket library.
- Fixed remaining Clipper compatibility issues (@.clp, SET PROC TO, DO WITH, etc)
- Added replaceable core file I/O layer.
- Reworked build system with integrated dynlib creation, cross-platform
support, compiler and external component autodetection and much more.
- MinGW updated to 4.4.1
- MinGW x64 updated to 4.5.0 (20090905)
- Finalizing ActiveX/OLE2 support.
- Timestamp/datetime support in core.
- Added MT support for MS-DOS platform.
- Added socket support for MS-DOS platform (via WATTCP lib).
- Added hbnetio lib client/server file I/O implementation.
- hbxbp lib about feature complete.
- wce/msvcarm target improvements, sunpro compiler support.
- hbssl OpenSSL wrapper lib.
- SSL support in hbtip lib.
- Serial communication fixes in hbwin/hbtpathy on win platform.
- Lots of other additions and some fixes.
- Changed default install path to be 'hb20' rather than 'harbour20',
to avoid long filenames.
- Replaced mingw64 built x64 shared tools with msvc64 builds, as
the former didn't work.
- Included hbqt lib which links against static QT libs.
Changes since previous (2.0.0beta1 20090609) release:
-----------------------------------------------------------------------
- Harbour updated to r11508 (from r11287)
- New User's Forum linked
- upx compressor included in install package
- MS-DOS cross build libs included in install package
- preparation to host 3rd party packages inside Harbour directory tree
- new "zero-conf" library install system in preparation
- hbmk2: lots of minor refinements, support for all free compilers
in embedded form, support spaces in filenames/paths, all Harbour
supported C compilers have now complete support in hbmk2
- MS-DOS support tested and required fixes applied
- embedded compilers moved to 'comp' subdir
- support for latest MinGW x64 and MSVS 2010 compilers
- extended README.txt with new examples and app build quick guide
- icon for installer and hbrun tool
- hbxbp and hbqt enhancements
- hbwin refinements and better compatibility
- new uhttpd2 sessioned HTTP server
- C++ build support for all compilers, new hb_WAEval() function,
new xpp (Xbase++ compatibility) lib, .hrb loading enhancements
- DBU, RL, SuperLib fixes.
- MinGW64 updated to 4.4.1
- There were a few changes in this release which may require updating
your source code (hb_par*()/hb_stor*() in .c files and GTWVG WIN_*()
function in .prg files). Search for 'incompatible' word in ChangeLog.txt
for more.
-----------------------------------------------------------------------
Changes since previous (1.1.0dev 20090602) release:
-----------------------------------------------------------------------
- Harbour updated to r11287 (from r11179)
- all contrib tests included in install package
- All 3rd party packages upgraded to latest version.
- hbmk2: project support, new file extensions, fixes, Harbour 1.0.x
support.
- further simplified/updated build process and instructions
- hbqt many enhancements
- almost full xhb compatibility
- 'terminal' fixed in examples
- source formatter, Cl*pper RL tool, legacy hbmake added
- MT Xbase++ compatibility
-----------------------------------------------------------------------
Changes since previous (1.1.0dev 20090408) release:
-----------------------------------------------------------------------
- Harbour updated to r11179 (from r10819)
- Updated hbmk2 (filter issues + experimental Harbour 1.0.x support)
- Included contrib tests/utils
- Full and now standalone 'examples'
- 'tests' with subdirs included.
- No longer included pocc/pocc64/poccarm libs.
- QT updated to 4.5.1
- MinGW updated to 4.4.0
--
Brgds,
Viktor Szakats
harbour-project.org

View File

@@ -0,0 +1,165 @@
@rem
@rem $Id$
@rem
@echo off
rem ---------------------------------------------------------------
rem Copyright 2009-2011 Viktor Szakats (harbour syenar.net)
rem See COPYING.txt for licensing terms.
rem ---------------------------------------------------------------
rem - Adjust target dir, mingw dirs, set HB_DIR_UPX, HB_DIR_7Z, HB_DIR_MINGW,
rem create required packages beforehand.
rem - Requires BCC in PATH or HB_DIR_BCC_IMPLIB (for implib).
rem - Run this from vanilla official source tree only.
rem - Requires GNU sed tool in PATH
echo ! Self: %0
if "%HB_VS%" == "" set HB_VS=32
if "%HB_VL%" == "" set HB_VL=320
if "%HB_VM%" == "" set HB_VM=3.2
if "%HB_VF%" == "" set HB_VF=3.2.0dev
if "%HB_RT%" == "" set HB_RT=C:\hb\
set HB_DR=hb%HB_VS%\
set HB_ABSROOT=%HB_RT%%HB_DR%
rem ; Assemble unified package from per-target builds
if exist %HB_ABSROOT% rd /q /s %HB_ABSROOT%
xcopy /y %~dp0RELNOTES.txt %HB_ABSROOT%
xcopy /y /s %~dp0..\..\extras\*.* %HB_ABSROOT%extras\
xcopy /y /s %~dp0..\..\tests\*.* %HB_ABSROOT%tests\
xcopy /y %~dp0HARBOUR_README_ADDONS.txt %HB_ABSROOT%addons\
xcopy /y %~dp0HARBOUR_README_DJGPP.txt %HB_ABSROOT%comp\djgpp\
xcopy /y %~dp0HARBOUR_README_MINGW.txt %HB_ABSROOT%comp\mingw\
xcopy /y %~dp0HARBOUR_README_MINGW64.txt %HB_ABSROOT%comp\mingw64\
xcopy /y %~dp0HARBOUR_README_MINGWARM.txt %HB_ABSROOT%comp\mingwarm\
xcopy /y %~dp0HARBOUR_README_POCC.txt %HB_ABSROOT%comp\pocc\
xcopy /y %~dp0HARBOUR_README_WATCOM.txt %HB_ABSROOT%comp\watcom\
xcopy /y /s %~dp0..\..\pkg\win\mingw\harbour-%HB_VF%-win-mingw %HB_ABSROOT%
xcopy /y /s %~dp0..\..\pkg\linux\watcom\harbour-%HB_VF%-linux-watcom\lib %HB_ABSROOT%lib\linux\watcom\
xcopy /y /s %~dp0..\..\pkg\dos\watcom\hb%HB_VL%wa\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\os2\watcom\harbour-%HB_VF%-os2-watcom\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\wce\mingwarm\harbour-%HB_VF%-wce-mingwarm\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\bcc\harbour-%HB_VF%-win-bcc\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\bcc64\harbour-%HB_VF%-win-bcc64\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\mingw\harbour-%HB_VF%-win-mingw\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\msvc\harbour-%HB_VF%-win-msvc\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\msvc64\harbour-%HB_VF%-win-msvc64\lib %HB_ABSROOT%lib\
xcopy /y /s %~dp0..\..\pkg\win\watcom\harbour-%HB_VF%-win-watcom\lib %HB_ABSROOT%lib\
xcopy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\*.dll %HB_ABSROOT%bin\
xcopy /y %~dp0..\..\pkg\wce\mingwarm\harbour-%HB_VF%-wce-mingwarm\bin\*.dll %HB_ABSROOT%bin\
rem ; Create special implibs for Borland (requires BCC in PATH)
rem NOTE: Using intermediate .def files, because direct .dll to .lib conversion
rem is buggy in BCC55 and BCC58 (no other versions tested), leaving off
rem leading underscore from certain ("random") symbols, resulting in
rem unresolved externals, when trying to use it. [vszakats]
for %%a in ( %HB_ABSROOT%bin\*-%HB_VS%.dll ) do (
"%HB_DIR_BCC_IMPLIB%impdef.exe" -a "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.defraw" "%%a"
echo s/LIBRARY %%~na.DLL/LIBRARY "%%~na.dll"/Ig> _hbtemp.sed
sed -f _hbtemp.sed < "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.defraw" > "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.def"
"%HB_DIR_BCC_IMPLIB%implib.exe" -c -a "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.lib" "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.def"
del "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.defraw"
del "%HB_ABSROOT%lib\win\bcc\%%~na-bcc.def"
)
del _hbtemp.sed
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbmk2.exe %HB_ABSROOT%bin\hbmk2-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbnetio.exe %HB_ABSROOT%bin\hbnetio-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbrun.exe %HB_ABSROOT%bin\hbrun-x64.exe
copy /y %~dp0..\..\pkg\win\mingw64\harbour-%HB_VF%-win-mingw64\bin\hbtest.exe %HB_ABSROOT%bin\hbtest-x64.exe
xcopy /y "%HB_DIR_UPX%upx.exe" %HB_ABSROOT%bin\
copy /y "%HB_DIR_UPX%LICENSE" %HB_ABSROOT%bin\upx_LICENSE.txt
xcopy /y /s /e "%HB_DIR_MINGW%" %HB_ABSROOT%comp\mingw\
rem del %HB_ABSROOT%comp\mingw\tdm-mingw-1.908.0-4.4.1-2.exe
xcopy /y "%HB_DIR_MINGW%\bin\libgcc_s_dw2-1.dll" %HB_ABSROOT%bin\
xcopy /y "%HB_DIR_MINGW%\bin\mingwm10.dll" %HB_ABSROOT%bin\
rem ; Create unified installer
pushd
cd %HB_RT%
if exist %HB_RT%harbour-%HB_VF%-win-log.txt del %HB_RT%harbour-%HB_VF%-win-log.txt
if exist %HB_RT%harbour-%HB_VF%-win.exe del %HB_RT%harbour-%HB_VF%-win.exe
"%HB_DIR_NSIS%makensis.exe" %HB_OPT_NSIS% %~dp0mpkg_win_uni.nsi >> %HB_RT%harbour-%HB_VF%-win-log.txt 2>&1
rem ; Create unified archive
echo.> _hbfiles
echo "%HB_DR%RELNOTES.txt" >> _hbfiles
echo "%HB_DR%README.txt" >> _hbfiles
echo "%HB_DR%COPYING.txt" >> _hbfiles
echo "%HB_DR%ChangeLog*.txt" >> _hbfiles
echo "%HB_DR%bin\*-%HB_VS%.dll" >> _hbfiles
echo "%HB_DR%bin\harbour.exe" >> _hbfiles
echo "%HB_DR%bin\hbformat.exe" >> _hbfiles
echo "%HB_DR%bin\hbi18n.exe" >> _hbfiles
echo "%HB_DR%bin\hbmk2.exe" >> _hbfiles
echo "%HB_DR%bin\hbmk2.*.hbl" >> _hbfiles
echo "%HB_DR%bin\hbnetio.exe" >> _hbfiles
echo "%HB_DR%bin\hbpp.exe" >> _hbfiles
echo "%HB_DR%bin\hbrun.exe" >> _hbfiles
echo "%HB_DR%bin\hbtest.exe" >> _hbfiles
if exist "%HB_DR%bin\*.hb" echo "%HB_DR%bin\*.hb" >> _hbfiles
if exist "%HB_DR%bin\*.hbr" echo "%HB_DR%bin\*.hbr" >> _hbfiles
if exist "%HB_DR%bin\*.ucf" echo "%HB_DR%bin\*.ucf" >> _hbfiles
if exist "%HB_DR%bin\hbmk.hbc" echo "%HB_DR%bin\hbmk.hbc" >> _hbfiles
echo "%HB_DR%bin\upx*.*" >> _hbfiles
echo "%HB_DR%include\*.*" >> _hbfiles
echo "%HB_DR%bin\hbmk2-x64.exe" >> _hbfiles
echo "%HB_DR%bin\hbnetio-x64.exe" >> _hbfiles
echo "%HB_DR%bin\hbrun-x64.exe" >> _hbfiles
echo "%HB_DR%bin\hbtest-x64.exe" >> _hbfiles
echo "%HB_DR%lib\win\mingw\*.*" >> _hbfiles
echo "%HB_DR%lib\win\mingw64\*.*" >> _hbfiles
echo "%HB_DR%lib\wce\mingwarm\*.*" >> _hbfiles
echo "%HB_DR%addons\HARBOUR_README_ADDONS.txt" >> _hbfiles
rem echo "%HB_DR%comp\djgpp\HARBOUR_README_DJGPP.txt" >> _hbfiles
echo "%HB_DR%comp\watcom\HARBOUR_README_WATCOM.txt" >> _hbfiles
echo "%HB_DR%comp\pocc\HARBOUR_README_POCC.txt" >> _hbfiles
echo "%HB_DR%comp\mingw\HARBOUR_README_MINGW.txt" >> _hbfiles
echo "%HB_DR%comp\mingw64\HARBOUR_README_MINGW64.txt" >> _hbfiles
echo "%HB_DR%comp\mingwarm\HARBOUR_README_MINGWARM.txt" >> _hbfiles
rem echo "%HB_DR%lib\dos\djgpp\*.*" >> _hbfiles
echo "%HB_DR%lib\dos\watcom\*.*" >> _hbfiles
echo "%HB_DR%lib\linux\watcom\*.*" >> _hbfiles
echo "%HB_DR%lib\os2\watcom\*.*" >> _hbfiles
echo "%HB_DR%lib\win\msvc\*.*" >> _hbfiles
echo "%HB_DR%lib\win\msvc64\*.*" >> _hbfiles
rem echo "%HB_DR%bin\harbour-%HB_VS%-bcc.dll" >> _hbfiles
echo "%HB_DR%lib\win\bcc\*.*" >> _hbfiles
echo "%HB_DR%lib\win\bcc64\*.*" >> _hbfiles
echo "%HB_DR%lib\win\watcom\*.*" >> _hbfiles
rem echo "%HB_DR%lib\win\pocc\*.*" >> _hbfiles
rem echo "%HB_DR%lib\win\pocc64\*.*" >> _hbfiles
rem echo "%HB_DR%lib\wce\poccarm\*.*" >> _hbfiles
echo "%HB_DR%bin\*-%HB_VS%-x64.dll" >> _hbfiles
echo "%HB_DR%bin\harbour-%HB_VS%-wce-arm.dll" >> _hbfiles
rem echo "%HB_DR%bin\harbour-%HB_VS%-os2.dll" >> _hbfiles
echo "%HB_DR%tests\*.*" >> _hbfiles
echo "%HB_DR%doc\*.*" >> _hbfiles
echo "%HB_DR%comp\mingw\*" >> _hbfiles
echo "%HB_DR%extras\*.*" >> _hbfiles
echo "%HB_DR%contrib\*.*" >> _hbfiles
if exist %HB_RT%harbour-%HB_VF%-win.7z del %HB_RT%harbour-%HB_VF%-win.7z
"%HB_DIR_7Z%7za.exe" a -r %HB_RT%harbour-%HB_VF%-win.7z @_hbfiles >> %HB_RT%harbour-%HB_VF%-win-log.txt 2>&1
del _hbfiles
popd

View File

@@ -0,0 +1,511 @@
;
; $Id$
;
; ---------------------------------------------------------------
; NSIS installer script for Harbour
;
; Copyright 2009 Viktor Szakats (harbour syenar.net)
; See COPYING.txt for licensing terms.
; ---------------------------------------------------------------
; TODO: option: install .dlls to system paths
SetCompressor /solid lzma
!include "MUI2.nsh"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
!define MUI_ICON "..\harb_win.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
SetDateSave on
SetDatablockOptimize on
CRCCheck on
RequestExecutionLevel user
!define PKG_NO_CC_MINGW64
!define PKG_NO_CC_MINGWARM
!define PKG_NO_COMP_DJGPP
!define PKG_NO_COMP_POCC
!define PKG_NO_COMP_POCC64
!define PKG_NO_COMP_POCCARM
!define PKG_NO_COMP_BCC64
!define /date NOW "%Y%m%d"
Name "Harbour $%HB_VM%"
OutFile "$%HB_RT%harbour-$%HB_VF%-win.exe"
InstallDir C:\hb$%HB_VS%
;--------------------------------
; Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
; Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE $(MUILicense)
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
; Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
; License Language String
LicenseLangString MUILicense ${LANG_ENGLISH} "$%HB_ABSROOT%COPYING.txt"
;--------------------------------
; The stuff to install
Section "Main components" hb_main
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR
File /nonfatal "$%HB_ABSROOT%RELNOTES.txt"
File /nonfatal "$%HB_ABSROOT%README.txt"
File /nonfatal "$%HB_ABSROOT%COPYING.txt"
File /nonfatal "$%HB_ABSROOT%ChangeLog.txt*"
SetOutPath $INSTDIR\bin
File "$%HB_ABSROOT%bin\*-$%HB_VS%.dll"
File "$%HB_ABSROOT%bin\harbour.exe"
File "$%HB_ABSROOT%bin\hbformat.exe"
File "$%HB_ABSROOT%bin\hbi18n.exe"
File "$%HB_ABSROOT%bin\hbmk2.exe"
File "$%HB_ABSROOT%bin\hbmk2.*.hbl"
File "$%HB_ABSROOT%bin\hbnetio.exe"
File "$%HB_ABSROOT%bin\hbpp.exe"
File "$%HB_ABSROOT%bin\hbrun.exe"
File "$%HB_ABSROOT%bin\hbtest.exe"
File /nonfatal "$%HB_ABSROOT%bin\*.hb"
File /nonfatal "$%HB_ABSROOT%bin\*.hbr"
File /nonfatal "$%HB_ABSROOT%bin\*.ucf"
File /nonfatal "$%HB_ABSROOT%bin\hbmk.hbc"
File "$%HB_ABSROOT%bin\upx*.*"
SetOutPath $INSTDIR\include
File "$%HB_ABSROOT%include\*.*"
SetOutPath $INSTDIR\doc
File "$%HB_ABSROOT%doc\*.*"
SetOutPath $INSTDIR\addons
File "$%HB_ABSROOT%addons\HARBOUR_README_ADDONS.txt"
; Write the installation path into the registry
; WriteRegStr HKLM "SOFTWARE\Harbour $%HB_VM%" "InstallDir" "$INSTDIR"
WriteRegStr HKCU "Software\Harbour $%HB_VM%" "InstallDir" "$INSTDIR"
; Write the uninstall keys for Windows
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour $%HB_VM%" "DisplayName" "Harbour"
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour $%HB_VM%" "UninstallString" '"$INSTDIR\uninstall.exe"'
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour $%HB_VM%" "NoModify" 1
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour $%HB_VM%" "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
!ifndef PKG_NO_COMP_MINGW64
Section /o "x64 tools" hb_main_x64
SetOutPath $INSTDIR\bin
File "$%HB_ABSROOT%bin\hbmk2-x64.exe"
File "$%HB_ABSROOT%bin\hbnetio-x64.exe"
File "$%HB_ABSROOT%bin\hbrun-x64.exe"
File "$%HB_ABSROOT%bin\hbtest-x64.exe"
SectionEnd
!endif
!ifndef PKG_NO_CC_MINGW
Section "MinGW compiler" hb_mingw
SetOutPath $INSTDIR\comp\mingw
File /r "$%HB_ABSROOT%comp\mingw\*.*"
SectionEnd
!endif
!ifndef PKG_NO_CC_MINGW64
Section "MinGW x64 compiler" hb_mingw64
SetOutPath $INSTDIR\comp\mingw64
File /r "$%HB_ABSROOT%comp\mingw64\*.*"
SectionEnd
!endif
!ifndef PKG_NO_CC_MINGWARM
Section "MinGW WinCE/ARM compiler" hb_mingwarm
SetOutPath $INSTDIR\comp\mingwarm
File /r "$%HB_ABSROOT%comp\mingwarm\*.*"
SectionEnd
!endif
Section "Libs for MinGW" hb_lib_mingw
SectionIn RO
SetOutPath $INSTDIR\lib\win\mingw
File "$%HB_ABSROOT%lib\win\mingw\*.*"
SetOutPath $INSTDIR\comp\mingw
File "$%HB_ABSROOT%comp\mingw\HARBOUR_README_MINGW.txt"
SectionEnd
!ifndef PKG_NO_COMP_MINGW64
Section /o "Libs for MinGW x64" hb_lib_mingw64
SetOutPath $INSTDIR\lib\win\mingw64
File "$%HB_ABSROOT%lib\win\mingw64\*.*"
SetOutPath $INSTDIR\comp\mingw64
File "$%HB_ABSROOT%comp\mingw64\HARBOUR_README_MINGW64.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_MINGWARM
Section /o "Libs for MinGW WinCE/ARM" hb_lib_mingwarm
SetOutPath $INSTDIR\lib\wce\mingwarm
File "$%HB_ABSROOT%lib\wce\mingwarm\*.*"
SetOutPath $INSTDIR\comp\mingwarm
File "$%HB_ABSROOT%comp\mingwarm\HARBOUR_README_MINGWARM.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_MSVC
Section "Libs for MSVC" hb_lib_msvc
SetOutPath $INSTDIR\lib\win\msvc
File "$%HB_ABSROOT%lib\win\msvc\*.*"
SectionEnd
!endif
!ifndef PKG_NO_COMP_MSVC64
Section /o "Libs for MSVC x64" hb_lib_msvc64
SetOutPath $INSTDIR\lib\win\msvc64
File "$%HB_ABSROOT%lib\win\msvc64\*.*"
SectionEnd
!endif
!ifndef PKG_NO_COMP_BCC
Section "Libs for Borland C" hb_lib_bcc
SetOutPath $INSTDIR\bin
; File "$%HB_ABSROOT%bin\harbour-$%HB_VS%-bcc.dll"
SetOutPath $INSTDIR\lib\win\bcc
File "$%HB_ABSROOT%lib\win\bcc\*.*"
SectionEnd
!endif
!ifndef PKG_NO_COMP_BCC64
Section "Libs for Borland C x64" hb_lib_bcc64
SetOutPath $INSTDIR\bin
SetOutPath $INSTDIR\lib\win\bcc64
File "$%HB_ABSROOT%lib\win\bcc64\*.*"
SectionEnd
!endif
!ifndef PKG_NO_COMP_WATCOM
Section /o "Libs for Open Watcom" hb_lib_watcom
SetOutPath $INSTDIR\lib\win\watcom
File "$%HB_ABSROOT%lib\win\watcom\*.*"
SetOutPath $INSTDIR\comp\watcom
File "$%HB_ABSROOT%comp\watcom\HARBOUR_README_WATCOM.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_POCC
Section /o "Libs for Pelles C" hb_lib_pocc
SetOutPath $INSTDIR\lib\win\pocc
File "$%HB_ABSROOT%lib\win\pocc\*.*"
SetOutPath $INSTDIR\comp\pocc
File "$%HB_ABSROOT%comp\pocc\HARBOUR_README_POCC.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_POCC64
Section /o "Libs for Pelles C x64" hb_lib_pocc64
SetOutPath $INSTDIR\lib\win\pocc64
File "$%HB_ABSROOT%lib\win\pocc64\*.*"
SectionEnd
!endif
!ifndef PKG_NO_COMP_POCCARM
Section /o "Libs for Pelles C WinCE/ARM" hb_lib_poccarm
SetOutPath $INSTDIR\lib\wce\poccarm
File "$%HB_ABSROOT%lib\wce\poccarm\*.*"
SectionEnd
!endif
!ifndef PKG_NO_PLAT_LINUX
Section /o "Libs for Open Watcom Linux" hb_lib_linux
SetOutPath $INSTDIR\lib\linux\watcom
File "$%HB_ABSROOT%lib\linux\watcom\*.*"
SetOutPath $INSTDIR\comp\watcom
File "$%HB_ABSROOT%comp\watcom\HARBOUR_README_WATCOM.txt"
SectionEnd
!endif
!ifndef PKG_NO_PLAT_OS2
Section /o "Libs for Open Watcom OS/2" hb_lib_os2
SetOutPath $INSTDIR\lib\os2\watcom
File "$%HB_ABSROOT%lib\os2\watcom\*.*"
SetOutPath $INSTDIR\comp\watcom
File "$%HB_ABSROOT%comp\watcom\HARBOUR_README_WATCOM.txt"
SectionEnd
!endif
!ifndef PKG_NO_PLAT_DOS
Section /o "Libs for Open Watcom MS-DOS" hb_lib_dos
SetOutPath $INSTDIR\lib\dos\watcom
File "$%HB_ABSROOT%lib\dos\watcom\*.*"
SetOutPath $INSTDIR\comp\watcom
File "$%HB_ABSROOT%comp\watcom\HARBOUR_README_WATCOM.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_DJGPP
Section /o "Libs for DJGPP MS-DOS" hb_lib_djgpp
SetOutPath $INSTDIR\lib\dos\djgpp
File "$%HB_ABSROOT%lib\dos\djgpp\*.*"
SetOutPath $INSTDIR\comp\djgpp
File "$%HB_ABSROOT%comp\djgpp\HARBOUR_README_DJGPP.txt"
SectionEnd
!endif
!ifndef PKG_NO_COMP_MINGW64
Section /o "Dlls for x64" hb_dlls_x64
SetOutPath $INSTDIR\bin
File "$%HB_ABSROOT%bin\*-$%HB_VS%-x64.dll"
SectionEnd
!endif
!ifndef PKG_NO_COMP_MINGWARM
Section /o "Dlls for WinCE/ARM" hb_dlls_arm
SetOutPath $INSTDIR\bin
File "$%HB_ABSROOT%bin\harbour-$%HB_VS%-wce-arm.dll"
SectionEnd
!endif
!ifdef _NEVER_
!ifndef PKG_NO_PLAT_OS2
Section /o "Dlls for OS/2" hb_dlls_os2
SetOutPath $INSTDIR\bin
; TOFIX: .dll name collision with MS-DOS
File "$%HB_ABSROOT%bin\harbour.dll"
SectionEnd
!endif
!ifndef PKG_NO_PLAT_DOS
Section /o "Dlls for MS-DOS" hb_dlls_dos
SetOutPath $INSTDIR\bin
; TOFIX: .dll name collision with OS/2
File "$%HB_ABSROOT%bin\harbour.dll"
SectionEnd
!endif
!endif
; The stuff to install
Section "Examples" hb_examples
SetOutPath $INSTDIR\extras
File /r "$%HB_ABSROOT%extras\*.*"
SetOutPath $INSTDIR\tests
File /r "$%HB_ABSROOT%tests\*.*"
SetOutPath $INSTDIR\contrib
File /r "$%HB_ABSROOT%contrib\*.*"
SectionEnd
; Optional section (can be disabled by the user)
Section "Start Menu and Desktop icons" hb_shortcuts
; this will be the working dir for shortcuts
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Harbour $%HB_VM%.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateDirectory "$SMPROGRAMS\Harbour $%HB_VM%"
CreateShortCut "$SMPROGRAMS\Harbour $%HB_VM%\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour $%HB_VM%\Harbour (Command line).lnk" "cmd.exe" "/k cd $INSTDIR\bin" "cmd.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour $%HB_VM%\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateShortCut "$SMPROGRAMS\Harbour $%HB_VM%\Harbour (Interactive shell).lnk" "$INSTDIR\bin\hbrun.exe" "" "$INSTDIR\bin\hbrun.exe" 0
CreateDirectory "$SMPROGRAMS\Harbour $%HB_VM%\Links"
WriteINIStr "$SMPROGRAMS\Harbour $%HB_VM%\Links\Homepage.url" "InternetShortcut" "URL" "http://harbour-project.org/"
WriteINIStr "$SMPROGRAMS\Harbour $%HB_VM%\Links\Sourceforge Page.url" "InternetShortcut" "URL" "http://sourceforge.net/projects/harbour-project/"
WriteINIStr "$SMPROGRAMS\Harbour $%HB_VM%\Links\Users' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-users/"
WriteINIStr "$SMPROGRAMS\Harbour $%HB_VM%\Links\Developers' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-devel/"
WriteINIStr "$SMPROGRAMS\Harbour $%HB_VM%\Links\Development Timeline.url" "InternetShortcut" "URL" "http://sourceforge.net/apps/trac/harbour-project/timeline"
SectionEnd
;--------------------------------
; Descriptions
; Language strings
LangString DESC_hb_main ${LANG_ENGLISH} "Harbour main components"
LangString DESC_hb_shortcuts ${LANG_ENGLISH} "Add icons to Start Menu and Desktop"
LangString DESC_hb_examples ${LANG_ENGLISH} "Harbour samples and tests"
!ifndef PKG_NO_COMP_MINGW64
LangString DESC_hb_main_x64 ${LANG_ENGLISH} "Harbour x64 tools"
LangString DESC_hb_dlls_x64 ${LANG_ENGLISH} "Harbour dlls for x64"
!endif
!ifndef PKG_NO_COMP_MINGWARM
LangString DESC_hb_dlls_arm ${LANG_ENGLISH} "Harbour dlls for WinCE/ARM"
!endif
!ifdef _NEVER_
!ifndef PKG_NO_PLAT_OS2
LangString DESC_hb_dlls_os2 ${LANG_ENGLISH} "Harbour dlls for OS/2"
!endif
!ifndef PKG_NO_PLAT_DOS
LangString DESC_hb_dlls_dos ${LANG_ENGLISH} "Harbour dlls for MS-DOS"
!endif
!endif
!ifndef PKG_NO_CC_MINGW
LangString DESC_hb_mingw ${LANG_ENGLISH} "MinGW compiler"
!endif
!ifndef PKG_NO_CC_MINGW64
LangString DESC_hb_mingw64 ${LANG_ENGLISH} "MinGW x64 compiler"
!endif
!ifndef PKG_NO_CC_MINGWARM
LangString DESC_hb_mingwarm ${LANG_ENGLISH} "MinGW WinCE/ARM compiler"
!endif
LangString DESC_hb_lib_mingw ${LANG_ENGLISH} "Harbour libs for MinGW"
!ifndef PKG_NO_COMP_MINGW64
LangString DESC_hb_lib_mingw64 ${LANG_ENGLISH} "Harbour libs for MinGW x64"
!endif
!ifndef PKG_NO_COMP_MINGWARM
LangString DESC_hb_lib_mingwarm ${LANG_ENGLISH} "Harbour libs for MinGW WinCE/ARM"
!endif
!ifndef PKG_NO_COMP_MSVC
LangString DESC_hb_lib_msvc ${LANG_ENGLISH} "Harbour libs for MSVC"
!endif
!ifndef PKG_NO_COMP_MSVC64
LangString DESC_hb_lib_msvc64 ${LANG_ENGLISH} "Harbour libs for MSVC x64"
!endif
!ifndef PKG_NO_COMP_BCC
LangString DESC_hb_lib_bcc ${LANG_ENGLISH} "Harbour libs for Borland C"
!endif
!ifndef PKG_NO_COMP_BCC64
LangString DESC_hb_lib_bcc64 ${LANG_ENGLISH} "Harbour libs for Borland C x64"
!endif
!ifndef PKG_NO_COMP_WATCOM
LangString DESC_hb_lib_watcom ${LANG_ENGLISH} "Harbour libs for Open Watcom"
!endif
!ifndef PKG_NO_COMP_POCC
LangString DESC_hb_lib_pocc ${LANG_ENGLISH} "Harbour libs for Pelles C"
!endif
!ifndef PKG_NO_COMP_POCC64
LangString DESC_hb_lib_pocc64 ${LANG_ENGLISH} "Harbour libs for Pelles C x64"
!endif
!ifndef PKG_NO_COMP_POCCARM
LangString DESC_hb_lib_poccarm ${LANG_ENGLISH} "Harbour libs for Pelles C WinCE/ARM"
!endif
!ifndef PKG_NO_PLAT_LINUX
LangString DESC_hb_lib_linux ${LANG_ENGLISH} "Harbour libs for Open Watcom Linux"
!endif
!ifndef PKG_NO_PLAT_OS2
LangString DESC_hb_lib_os2 ${LANG_ENGLISH} "Harbour libs for Open Watcom OS/2"
!endif
!ifndef PKG_NO_PLAT_DOS
LangString DESC_hb_lib_dos ${LANG_ENGLISH} "Harbour libs for Open Watcom MS-DOS"
!endif
!ifndef PKG_NO_COMP_DJGPP
LangString DESC_hb_lib_djgpp ${LANG_ENGLISH} "Harbour libs for DJGPP MS-DOS"
!endif
; Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${hb_main} $(DESC_hb_main)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_shortcuts} $(DESC_hb_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_examples} $(DESC_hb_examples)
!ifndef PKG_NO_COMP_MINGW64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_main_x64} $(DESC_hb_main_x64)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_dlls_x64} $(DESC_hb_dlls_x64)
!endif
!ifndef PKG_NO_COMP_MINGWARM
!insertmacro MUI_DESCRIPTION_TEXT ${hb_dlls_arm} $(DESC_hb_dlls_arm)
!endif
!ifndef PKG_NO_CC_MINGW
!insertmacro MUI_DESCRIPTION_TEXT ${hb_mingw} $(DESC_hb_mingw)
!endif
!ifndef PKG_NO_CC_MINGW64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_mingw64} $(DESC_hb_mingw64)
!endif
!ifndef PKG_NO_CC_MINGWARM
!insertmacro MUI_DESCRIPTION_TEXT ${hb_mingwarm} $(DESC_hb_mingwarm)
!endif
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_mingw} $(DESC_hb_lib_mingw)
!ifndef PKG_NO_COMP_MINGW64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_mingw64} $(DESC_hb_lib_mingw64)
!endif
!ifndef PKG_NO_COMP_MINGWARM
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_mingwarm} $(DESC_hb_lib_mingwarm)
!endif
!ifndef PKG_NO_COMP_MSVC
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_msvc} $(DESC_hb_lib_msvc)
!endif
!ifndef PKG_NO_COMP_MSVC64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_msvc64} $(DESC_hb_lib_msvc64)
!endif
!ifndef PKG_NO_COMP_BCC
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_bcc} $(DESC_hb_lib_bcc)
!endif
!ifndef PKG_NO_COMP_BCC64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_bcc64} $(DESC_hb_lib_bcc64)
!endif
!ifndef PKG_NO_COMP_WATCOM
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_watcom} $(DESC_hb_lib_watcom)
!endif
!ifndef PKG_NO_COMP_POCC
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_pocc} $(DESC_hb_lib_pocc)
!endif
!ifndef PKG_NO_COMP_POCC64
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_pocc64} $(DESC_hb_lib_pocc64)
!endif
!ifndef PKG_NO_COMP_POCCARM
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_poccarm} $(DESC_hb_lib_poccarm)
!endif
!ifndef PKG_NO_PLAT_LINUX
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_linux} $(DESC_hb_lib_linux)
!endif
!ifndef PKG_NO_PLAT_OS2
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_os2} $(DESC_hb_lib_os2)
!endif
!ifndef PKG_NO_PLAT_DOS
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_dos} $(DESC_hb_lib_dos)
!endif
!ifndef PKG_NO_COMP_DJGPP
!insertmacro MUI_DESCRIPTION_TEXT ${hb_lib_djgpp} $(DESC_hb_lib_djgpp)
!endif
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Uninstaller
Section "Uninstall"
; Remove files and uninstaller
RMDir /r $INSTDIR
; Remove directories used
Delete "$SMPROGRAMS\Harbour $%HB_VM%\Links\*.*"
RMDir "$SMPROGRAMS\Harbour $%HB_VM%\Links"
Delete "$SMPROGRAMS\Harbour $%HB_VM%\*.*"
RMDir "$SMPROGRAMS\Harbour $%HB_VM%"
RMDir "$INSTDIR"
Delete "$DESKTOP\Harbour $%HB_VM%.lnk"
; DeleteRegKey HKLM "SOFTWARE\Harbour $%HB_VM%"
DeleteRegKey HKCU "Software\Harbour $%HB_VM%"
SectionEnd