2010-07-28 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* mpkg_rpm.sh
    ! Fix to always copy harbour.spec to SPECS dir.
      Shot in the dark.

  * package/harbour-win.spec
  * package/harbour-wce.spec
  * package/harbour.spec
    - Deleted RPM specific readme. Similar information is now 
      found in INSTALL.

  * contrib/hbwin/win_regc.c
    ! WIN_REGQUERYVALUEEX(): Fixed to check return value of 
      subsequent internal RegQueryValueEx() calls. Return NIL 
      if failed. (value length will still be reported as 
      received back from first RegQueryValueEx() call)

  * contrib/hbide/hbide.hbp
    ! Fixed QT .dll copying options. Commented the whole thing.
This commit is contained in:
Viktor Szakats
2010-07-28 09:06:34 +00:00
parent cba44dbce6
commit 3865708b95
7 changed files with 57 additions and 217 deletions

View File

@@ -16,6 +16,26 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-07-28 11:06 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* mpkg_rpm.sh
! Fix to always copy harbour.spec to SPECS dir.
Shot in the dark.
* package/harbour-win.spec
* package/harbour-wce.spec
* package/harbour.spec
- Deleted RPM specific readme. Similar information is now
found in INSTALL.
* contrib/hbwin/win_regc.c
! WIN_REGQUERYVALUEEX(): Fixed to check return value of
subsequent internal RegQueryValueEx() calls. Return NIL
if failed. (value length will still be reported as
received back from first RegQueryValueEx() call)
* contrib/hbide/hbide.hbp
! Fixed QT .dll copying options. Commented the whole thing.
2010-07-28 01:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/make.hbs
+ Added support for 'clean all' build mode. This is the only

View File

@@ -12,11 +12,11 @@
-icon={allwin}hbide.ico
-instfile={win}{HB_WITH_QT}/../bin/libgcc_s_dw2-1.dll
-instfile={win}{HB_WITH_QT}/../bin/mingwm10.dll
-instfile={win}{HB_WITH_QT}/../bin/QtCore4.dll
-instfile={win}{HB_WITH_QT}/../bin/QtGui4.dll
-instfile={win}{HB_WITH_QT}/../bin/QtNetwork4.dll
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/libgcc_s_dw2-1.dll
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/mingwm10.dll
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtCore4.dll
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtGui4.dll
#-instfile={win&HB_WITH_QT&!(HB_WITH_QT='no')}${HB_WITH_QT}/../bin/QtNetwork4.dll
../hbxbp/hbxbp.hbc

View File

@@ -136,18 +136,21 @@ HB_FUNC( WIN_REGQUERYVALUEEX )
{
LPBYTE lpValue = ( LPBYTE ) hb_xgrab( ( dwSize + 1 ) * sizeof( TCHAR ) );
RegQueryValueEx( ( HKEY ) hb_parptr( 1 ),
lpKey,
NULL,
&dwType,
lpValue,
&dwSize );
if( RegQueryValueEx( ( HKEY ) hb_parptr( 1 ),
lpKey,
NULL,
&dwType,
lpValue,
&dwSize ) == ERROR_SUCCESS )
{
#if defined( UNICODE )
dwSize >>= 1;
#endif
#if defined( UNICODE )
dwSize >>= 1;
#endif
HB_STORSTRLEN( ( LPTSTR ) lpValue, dwSize, 5 );
HB_STORSTRLEN( ( LPTSTR ) lpValue, dwSize, 5 );
}
else
hb_stor( 5 );
hb_xfree( lpValue );
}
@@ -155,15 +158,21 @@ HB_FUNC( WIN_REGQUERYVALUEEX )
{
LPBYTE lpValue = ( LPBYTE ) hb_xgrab( dwSize + 1 );
RegQueryValueEx( ( HKEY ) hb_parptr( 1 ),
lpKey,
NULL,
&dwType,
lpValue,
&dwSize );
if( ! hb_storclen_buffer( ( char * ) lpValue, dwSize, 5 ) )
if( RegQueryValueEx( ( HKEY ) hb_parptr( 1 ),
lpKey,
NULL,
&dwType,
lpValue,
&dwSize ) == ERROR_SUCCESS )
{
if( ! hb_storclen_buffer( ( char * ) lpValue, dwSize, 5 ) )
hb_xfree( lpValue );
}
else
{
hb_stor( 5 );
hb_xfree( lpValue );
}
}
}
else

View File

@@ -182,11 +182,10 @@ then
else
RPMDIR=`get_rpmmacro "_topdir"`
fi
if [ "${BUGGY_RPM}" = "yes" ]
then
cp ${hb_filename} ${RPMDIR}/SOURCES
cp package/harbour.spec ${RPMDIR}/SPECS
fi
cp ${hb_filename} ${RPMDIR}/SOURCES
cp package/harbour.spec ${RPMDIR}/SPECS
if which rpmbuild >/dev/null 2>&1
then
RPMBLD="rpmbuild"

View File

@@ -18,7 +18,6 @@
%define releasen beta2
%define hb_pref hbce
%define hb_host harbour-project.org
%define readme README.RPM
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define hb_ccpath /opt/mingw32ce/bin
@@ -128,57 +127,6 @@ make install %{?_smp_mflags}
# remove unused files
rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbmk2,hbrun,hbi18n,hbtest}.exe
# Create a README file for people using this RPM.
cat > doc/%{readme} <<EOF
This RPM distribution of Harbour includes extra commands to make compiling
and linking with Harbour a little easier.It includes hbmk2 to build
projects easily.
hbmk2 tries to produce an executable from your .prg file. It's similar
to cl.bat from the CA-Cl*pper distribution.
All these scripts accept command line switches:
-o<outputfilename> # output file name
-static # link with static Harbour libs
-fullstatic # link with all static libs
-shared # link with shared libs (default)
-mt # link with multi-thread libs
-gt<hbgt> # link with <hbgt> GT driver, can be repeated to
# link with more GTs. The first one will be
# the default at runtime
-xbgtk # link with xbgtk library (xBase GTK+ interface)
-hwgui # link with HWGUI library (GTK+ interface)
-l<libname> # link with <libname> library
-L<libpath> # additional path to search for libraries
-[no]strip # strip (no strip) binaries
-main=<main_func> # set the name of main program function/procedure.
# if not set then 'MAIN' is used or if it doesn't
# exist the name of first public function/procedure
# in first linked object module (link)
An example compile/link session looks like:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ hbmk2 foo
Harbour 2.1.0beta1 (Rev. 14701)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo
----------------------------------------------------------------------
I hope this RPM is useful. Have fun with Harbour.
Przemyslaw Czerpak (druzus/at/priv.onet.pl)
EOF
######################################################################
## Post install
######################################################################
@@ -204,9 +152,7 @@ rm -fR $RPM_BUILD_ROOT
%files
%defattr(-,root,root,755)
%doc doc/%{readme}
%{_bindir}/%{hb_pref}-mkdyn
%{_bindir}/hbmk2
%defattr(644,root,root,755)

View File

@@ -18,7 +18,6 @@
%define releasen beta2
%define hb_pref hbw
%define hb_host harbour-project.org
%define readme README.RPM
# Workaround for the problem of /usr/bin/strip not handling PE binaries.
%define hb_ccpath /opt/xmingw/bin
@@ -128,57 +127,6 @@ make install %{?_smp_mflags}
# remove unused files
rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbmk2,hbrun,hbi18n,hbtest}.exe
# Create a README file for people using this RPM.
cat > doc/%{readme} <<EOF
This RPM distribution of Harbour includes extra commands to make compiling
and linking with Harbour a little easier.It includes hbmk2 to build
projects easily.
hbmk2 tries to produce an executable from your .prg file. It's similar
to cl.bat from the CA-Cl*pper distribution.
All these scripts accept command line switches:
-o<outputfilename> # output file name
-static # link with static Harbour libs
-fullstatic # link with all static libs
-shared # link with shared libs (default)
-mt # link with multi-thread libs
-gt<hbgt> # link with <hbgt> GT driver, can be repeated to
# link with more GTs. The first one will be
# the default at runtime
-xbgtk # link with xbgtk library (xBase GTK+ interface)
-hwgui # link with HWGUI library (GTK+ interface)
-l<libname> # link with <libname> library
-L<libpath> # additional path to search for libraries
-[no]strip # strip (no strip) binaries
-main=<main_func> # set the name of main program function/procedure.
# if not set then 'MAIN' is used or if it doesn't
# exist the name of first public function/procedure
# in first linked object module (link)
An example compile/link session looks like:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ hbmk2 foo
Harbour 2.1.0beta1 (Rev. 14701)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo
----------------------------------------------------------------------
I hope this RPM is useful. Have fun with Harbour.
Przemyslaw Czerpak (druzus/at/priv.onet.pl)
EOF
######################################################################
## Post install
######################################################################
@@ -204,9 +152,7 @@ rm -fR $RPM_BUILD_ROOT
%files
%defattr(-,root,root,755)
%doc doc/%{readme}
%{_bindir}/%{hb_pref}-mkdyn
%{_bindir}/hbmk2
%defattr(644,root,root,755)

View File

@@ -73,7 +73,6 @@
%define hb_ctrb export HB_BUILD_CONTRIBS="hbblink hbclipsm hbct hbgt hbmisc hbmzip hbnetio hbtip hbtpathy hbhpdf hbziparc hbfoxpro hbsms hbfship hbxpp xhb rddbmcdx rddsql sddsqlt3 hbnf %{?_with_allegro:gtalleg} %{?_with_cairo:hbcairo} %{?_with_cups:hbcups} %{?_with_curl:hbcurl} %{?_with_firebird:hbfbird sddfb} %{?_with_freeimage:hbfimage} %{?_with_gd:hbgd} %{?_with_mysql:hbmysql sddmy} %{?_with_odbc:hbodbc sddodbc} %{?_with_pgsql:hbpgsql sddpg} %{?_with_qt:hbqt hbxbp} %{?_with_ads:rddads}"
%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_bdir} ; %{hb_idir} ; %{hb_ldir} ; %{hb_edir} ; %{hb_ctrb} ; %{hb_cmrc}
%define hb_host harbour-project.org
%define readme README.RPM
######################################################################
## Preamble.
######################################################################
@@ -103,9 +102,6 @@ BuildRoot: /tmp/%{name}-%{version}-root
package includes a compiler, pre-processor, header files, virtual machine
and documentation.
See README.RPM in the documentation directory for information specific to
this RPM distribution.
%description -l pl
%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator rozwijany na
wielu ró¿nych platformach. Ten pakiet zawiera kompilator, preprocesor,
@@ -436,79 +432,6 @@ install -m644 src/rtl/gtcrs/hb-charmap.def $HB_ETC_INSTALL/hb-charmap.def
# remove unused files
rm -f $HB_BIN_INSTALL/hbtest
# Create a README file for people using this RPM.
cat > doc/%{readme} <<EOF
This RPM distribution of %{dname} includes extra commands to make compiling
and linking with %{dname} a little easier. It includes hbmk2 to build
projects easily.
hbmk2 tries to produce an executable from your .prg file. It's similar
to cl.bat from the CA-Cl*pper distribution.
All these scripts accept command line switches:
-o<outputfilename> # output file name
-static # link with static %{dname} libs
-fullstatic # link with all static libs
-shared # link with shared libs (default)
-mt # link with multi-thread libs
-gt<hbgt> # link with <hbgt> GT driver, can be repeated to
# link with more GTs. The first one will be
# the default at runtime
-xbgtk # link with xbgtk library (xBase GTK+ interface)
-hwgui # link with HWGUI library (GTK+ interface)
-l<libname> # link with <libname> library
-L<libpath> # additional path to search for libraries
-[no]strip # strip (no strip) binaries
-main=<main_func> # set the name of main program function/procedure.
# if not set then 'MAIN' is used or if it doesn't
# exist the name of first public function/procedure
# in first linked object module (link)
An example compile/link session looks like:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
function main()
? "Hello, World!"
return nil
druzus@uran:~/tmp$ hbmk2 foo
Harbour 2.1.0beta1 (Rev. 14701)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.
druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 foo
----------------------------------------------------------------------
In this RPM you will find additional wonderful tools: /usr/bin/hbrun
You can run clipper/xbase compatible source files with it if you only
put in their first line:
#!/usr/bin/hbrun
For example:
----------------------------------------------------------------------
druzus@uran:~/tmp$ cat foo.prg
#!/usr/bin/hbrun
function main()
? "Hello, World!, This is a script !!! :-)"
?
return nil
druzus@uran:~/tmp$ chmod +x foo.prg
druzus@uran:~/tmp$ ./foo.prg
Hello, World!, This is a script !!! :-)
I hope this RPM is useful. Have fun with %{dname}.
Many thanks to Dave Pearson <davep@davep.org>
Przemyslaw Czerpak <druzus@polbox.com>
EOF
######################################################################
## Post install
######################################################################
@@ -536,14 +459,11 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,755)
%doc ChangeLog*
%doc doc/*.txt
%doc doc/%{readme}
%doc doc/en/
%dir %{hb_etcdir}
%verify(not md5 mtime) %config %{hb_etcdir}/hb-charmap.def
%{_bindir}/harbour
%{_bindir}/hbpp
%{_bindir}/hb-mkdyn
#%{_bindir}/hbtest
%{_bindir}/hbrun
%{_bindir}/hbi18n