Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Tue Mar 29, 2016 9:34 pm
Tim,
I have built hbssl.lib this way:
go.bat
Code: Select all
@set oldinclude=%include%
@set oldlib=%lib%
@set oldlibpath=%libpath%
if exist "%ProgramFiles%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" call "%ProgramFiles%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ bio.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ err.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ evp.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ evpciph.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ evpenc.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ evpmd.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ evppkey.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ pem.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ rand.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ ssl.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ ssl_hb.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ ssl_inet.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ ssl_sock.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ sslciph.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ sslctx.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ sslsess.c
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ x509.c
Lib /DEF:hbssl.def /OUT:hbssl.lib
Lib hbssl.lib /OUT:hbssl.lib bio.obj err.obj evp.obj evpciph.obj evpenc.obj evpmd.obj evppkey.obj pem.obj rand.obj ssl.obj ssl_hb.obj ssl_inet.obj ssl_sock.obj sslciph.obj sslctx.obj x509.obj
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=
@set oldlibpath=
Where hbssl.def is:
Code: Select all
LIBRARY hbssl
DESCRIPTION 'hbssl'
EXPORTS
dummy @1
I downloaded the required header files from here:
https://www.openssl.org/source/
Here you have the lib for VSC2015:
https://bitbucket.org/fivetech/harbour- ... sc2015.zip
Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Tue Mar 29, 2016 9:36 pm
Tim,
Harbour has a hbtip contrib folder but I can not find a hbtipssl one
Where is the source code for hbtipssl ?
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Tue Mar 29, 2016 9:55 pm
I posted to the Harbour group. I'm not sure if they actually came up with a better approach, but they apparently removed hbtipssl from the downloads with Harbour 3.0.
Tim
Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Wed Mar 30, 2016 7:19 am
Tim,
I googled for hbtipssl and found this:
Code: Select all
#
# $Id: hbtipssl.hbp 15168 2010-07-23 11:08:33Z vszakats $
#
hbtip.hbm
../hbssl/hbssl.hbc
-DHB_HAS_OPENSSL
So it seems as hbtipssl.lib uses the same code as hbtip.lib but compiled with the flag -DHB_HAS_OPENSSL
Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Wed Mar 30, 2016 7:41 am
Tim,
I managed to build hbtipssl.lib this way:
go.bat
Code: Select all
@set oldpath=%path%
@set oldinclude=%include%
@set oldlib=%lib%
@set oldlibpath=%libpath%
if exist "%ProgramFiles%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" call "%ProgramFiles%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" call "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
c:\harbour\bin\harbour -n -Ic:\harbour\include cgi.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ cgi.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include client.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ client.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include credent.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ credent.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include encb64.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ encb64.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include encoder.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ encoder.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include encqp.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ encqp.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include encurl.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ encurl.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include ftpcli.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ ftpcli.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include httpcli.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ httpcli.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include log.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ log.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include mail.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ mail.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include popcli.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ popcli.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include sendmail.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ sendmail.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include sessid.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ sessid.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include smtpcli.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ smtpcli.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include thtml.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ thtml.c -DHB_HAS_OPENSSL
c:\harbour\bin\harbour -n -Ic:\harbour\include url.prg
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ url.c -DHB_HAS_OPENSSL
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ encurlc.c -DHB_HAS_OPENSSL
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ mime.c -DHB_HAS_OPENSSL
cl -TC -W3 -O2 -c -Ic:\harbour\include -Ic:\ misc.c -DHB_HAS_OPENSSL
Lib /DEF:hbtipssl.def /OUT:hbtipssl.lib /MACHINE:X86
Lib hbtipssl.lib /OUT:hbtipssl.lib encurlc.obj mime.obj misc.obj cgi.obj client.obj credent.obj encb64.obj encoder.obj encqp.obj encurl.obj ftpcli.obj httpcli.obj log.obj mail.obj popcli.obj sendmail.obj sessid.obj smtpcli.obj thtml.obj url.obj
@set path=%oldpath%
@set include=%oldinclude%
@set lib=%oldlib%
@set libpath=%oldlibpath%
@set oldpath=""
@set oldinclude=""
@set oldlib=
@set oldlibpath=
hbtipssl.def
Here you have it:
https://bitbucket.org/fivetech/harbour- ... sc2015.zip
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Wed Mar 30, 2016 3:35 pm
So now we are down to
ace32 ( or ace64 ) .lib
rddads.lib
I am adding these to my collection of Harbour64 libs. Once tested, they could be part of future distributions.
Tim
byte-one
Posts: 1048 Joined: Mon Oct 24, 2005 9:54 am
Location: Austria
Contact:
Post
by byte-one » Wed Mar 30, 2016 9:02 pm
Antonio, is possible to use Harbour.exe for 32bit to compile the prgs for 64bit?
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Wed Mar 30, 2016 9:48 pm
byte-one wrote: Antonio, is possible to use Harbour.exe for 32bit to compile the prgs for 64bit?
Harbor creates the c code and your 64 bit compiles that to true 64 bit obj code which is linked
Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Wed Mar 30, 2016 9:55 pm
Günther,
> is possible to use Harbour.exe for 32bit to compile the prgs for 64bit?
Yes
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Wed Mar 30, 2016 10:33 pm
Antonio,
No I do not, nor do I have RDDADS.lib
But here is the good news. I took my huge app, which builds in 32 bit with everything. With the two tip libs you sent, I temporarily took out the reference to ADS ( but it is much needed ), and I actually got a full build using Visual Studio Community 2015.
It's not perfect. It's a bit slower ... but we shall see how that works out. In addition, I use the Codejock calendar ( calling the .ocx ) and that is not working. It comes up with an OLE error. I have both a 32 bit and 64 bit .dll for the calendar control, so I need to find out how to change the configuration to call the right one to see if that is the problem. I had this thought that a 64 bit program might be able to create an object from a 32 bit .dll but perhaps not.
At least we are close. Hopefully we can get the ADS working and I can more fully test the 64 bit version.
Tim
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Wed Mar 30, 2016 10:41 pm
I misread that. Yes, I have ACE64.dll and will email it to you.
Antonio Linares
Site Admin
Posts: 37481 Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:
Post
by Antonio Linares » Thu Mar 31, 2016 6:38 am
Tim,
We need to retrieve the ace64.def file from the ace64.dll file
usually we use Borland impdef.exe for that, but bcc582, bcc7, bcc7164 impdefs are failing with ace64.dll
impdef.exe ace64.def ace64.dll
We need to get that ace64.def file in order to create a ace64.lib (import library)
TimStone
Posts: 2536 Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA
Contact:
Post
by TimStone » Thu Mar 31, 2016 7:00 am
I actually downloaded the Advantage Client Engine 64 bit and it includes an ACE64.lib to go with the DLL. I will test that in the morning, IF we can hand the RDDADS.lib that is still missing.
Tim