That's exactly what I'd like to do, and dlltool (of mingw) is supposed to allow that, but it only went so far and left some missing references, so I just assume it isn't up to the task for such a large collection. Hence my second approach was to fudge-in the name by modifying the output of gcc when the library is created. That method works to allow a build, but runtime, it doesn't seem to operate correctly. Next try will be to repurpose the use of ${LIB_TAG} from the old Cmake build files and have libplplot10-nd type names - with corresponding names of the import-libraries. I'm shooting in the dark, though, as Its unclear to me that compatibility will be independent of the options used in the creation.
On Sat, Apr 18, 2015 at 5:28 AM, Arjen Markus <arjen.mar...@deltares.nl> wrote: > Hi Greg, > > > > I am not sure I understand exactly what you are trying to achieve (and I > have only briefly looked at your explanation of the background), but have a > look at the Fortran bindings. Here we explicitly use a .def file to export > the various routines. The thing is that such a .def file allows the > specification of the name of the DLL _independently_ of the name of the > produced import library. (I made a mistake not too long with that LIBRARY > statement, hence I know that it works this way). > > > > Of course this only works on platforms where a .def file is required, MinGW > and Win32. > > > > Regards, > > > > Arjen > > > >> -----Original Message----- >> From: Greg Jung [mailto:gvj...@gmail.com] >> Sent: Friday, April 17, 2015 4:48 PM >> To: plplot-devel@lists.sourceforge.net >> Subject: [Plplot-devel] Wrestling library linkage experiments. >> >> Hi guys, >> I have one specific plplot question then I will give a lot of background >> info that I'm >> fairly certain would come up in the ensuing Q/A for the issue. The >> foreground is, I'm >> building GDL on mingw32, GDL wants to (optionally) bring in a number of >> libraries >> to accomplish added functionalities. >> >> The Question: >> How do I get a specially-named libplplot version to function? I wish >> to have >> libplplot-v2.dll be the shared that libplplot.dll.a is an import for - >> built and held in a >> directory separately specified. A copy of libplplot-v2.dll is then kept >> in the runtime >> path alongside the standard versions libplplot.dll, libplplotcxx.dll, >> wingcc.dll, etc. >> v2 version is actually "nodyn" - all of the same source except dynamic >> drivers are not >> enabled. >> >> What I've been trying: >> I'm using a semi-updated plplot distribution from git Oct 7, 2014. >> My first attempt was to use dlltool >> to create an import library libplplot.dll.a which hooked into >> libplplot-nodyn.dll, itself >> created by simply renaming. The link attempt failed so I went to the >> build directory >> and basically changed all references libplplot.dll to libplplot-nodyn.dll >> >> cat build.make | sed 's/libplplot.dll/libplplot-nodyn.dll/g' | sed >> 's/libplplot- >> nodyn.dll.a/libplplot.dll.a/g' >> >> (except that I did this in a text editor) >> >> This result worked to be successfully linked (and loaded, verified via >> depends_x86.exe). >> But it doesn't work. >> To see that the dysfunction is not in the code, I did the same procedure >> for the plplot >> version that was working, going to the original build directory, making a >> shareable; >> libplplot-sidyn.dll described by import library libplplot.dll.a - this >> didn't work, either. >> >> ----------------------- >> >> background: >> >> I'm running on windows 7 (64 bit). 32-bit compiles are done using gcc >> 4.9.2 built by >> msys2; its all posix, dwarf2. >> In order to centralize the support libraries I keep those needed to run >> programs in >> c:/mingw/dll32-psxdw2 which is entered (via an NTFS junction) as >> c:/usr/lib32 below: >> PATH: >> >> C:\cmd:C:\cmd/bin:C:\usr/bin:C:\usr/bin32:C:\usr/bin32/mingw:C:\usr/lib32:C:\Windo >> ws/system32:C:\Windows:C:\Windows/System32/Wbem >> >> greg@Homerw7 MINGW32 /d/bld/mingw32-psxdw2 $ ls -la plplot11/bin total >> 1232 >> drwxr-xr-x 1 greg None 0 Apr 17 06:04 . >> drwxr-xr-x 1 greg None 0 Apr 17 06:04 .. >> -rwxr-xr-x 1 greg None 118558 Jan 28 14:54 libcsirocsa.dll -rwxr-xr-x 1 >> greg None >> 188815 Apr 17 06:02 libplplotcxx.dll -rwxr-xr-x 1 greg None 512591 Apr 17 >> 06:02 >> libplplot-sidyn.dll -rwxr-xr-x 1 greg None 195307 Apr 17 06:02 >> libplplotwxwidgets.dll - >> rwxr-xr-x 1 greg None 120392 Jan 28 14:54 libqsastime.dll -rwxr-xr-x 1 >> greg None >> 107360 Apr 17 06:02 pltek.exe >> >> /d/bld/mingw32-psxdw2$ ls -la plplot11-SAVE/bin total 1236 >> drwxr-xr-x 1 greg None 0 Jan 28 16:53 . >> drwxr-xr-x 1 greg None 0 Apr 17 05:33 .. >> -rwxr-xr-x 1 greg None 118558 Jan 28 14:54 libcsirocsa.dll -rwxr-xr-x 1 >> greg None >> 512079 Jan 28 14:54 libplplot.dll -rwxr-xr-x 1 greg None 188803 Jan 28 >> 14:54 >> libplplotcxx.dll -rwxr-xr-x 1 greg None 195295 Jan 28 14:54 >> libplplotwxwidgets.dll - >> rwxr-xr-x 1 greg None 120392 Jan 28 14:54 libqsastime.dll -rwxr-xr-x 1 >> greg None >> 106848 Jan 28 14:55 pltek.exe >> >> and also, higher up the path, c:/usr/bin32, which keeps a hodge-podge of >> libraries I >> might be linking against for special reasons. >> >> $ ls -la /c/usr/bin32 >> total 14580 >> drwxr-xr-x 1 greg None 0 Apr 16 21:12 . >> drwxr-xr-x 1 greg None 0 Mar 30 14:57 .. >> -rwxr-xr-x 1 greg None 12328473 Mar 30 14:29 gdl.exe >> -rwxr-xr-x 1 greg None 203638 Apr 5 22:28 libcsironn.dll >> -rwxr-xr-x 1 greg None 186311 Apr 5 22:28 libplplotcxxd.dll >> -rwxr-xr-x 1 greg None 572150 Apr 5 22:28 libplplotd.dll >> -rwxr-xr-x 1 greg None 1107048 Apr 16 17:42 libplplot-nodyn.dll >> -rwxr-xr-x 1 greg None 512591 Apr 17 06:02 libplplot-sidyn.dll >> lrwxrwxrwx 1 greg None 12 Mar 7 19:51 mingw -> /mingw32/bin >> >> >> greg@Homerw7 MINGW32 /d/bld/mingw32-psxdw2 $ ls -la plplot11/bin total >> 1232 >> drwxr-xr-x 1 greg None 0 Apr 17 06:04 . >> drwxr-xr-x 1 greg None 0 Apr 17 06:04 .. >> -rwxr-xr-x 1 greg None 118558 Jan 28 14:54 libcsirocsa.dll -rwxr-xr-x 1 >> greg None >> 188815 Apr 17 06:02 libplplotcxx.dll -rwxr-xr-x 1 greg None 512591 Apr 17 >> 06:02 >> libplplot-sidyn.dll -rwxr-xr-x 1 greg None 195307 Apr 17 06:02 >> libplplotwxwidgets.dll - >> rwxr-xr-x 1 greg None 120392 Jan 28 14:54 libqsastime.dll -rwxr-xr-x 1 >> greg None >> 107360 Apr 17 06:02 pltek.exe >> >> greg@Homerw7 MINGW32 /d/bld/mingw32-psxdw2 $ ls -la plplot11-SAVE/bin >> total >> 1236 >> drwxr-xr-x 1 greg None 0 Jan 28 16:53 . >> drwxr-xr-x 1 greg None 0 Apr 17 05:33 .. >> -rwxr-xr-x 1 greg None 118558 Jan 28 14:54 libcsirocsa.dll -rwxr-xr-x 1 >> greg None >> 512079 Jan 28 14:54 libplplot.dll -rwxr-xr-x 1 greg None 188803 Jan 28 >> 14:54 >> libplplotcxx.dll -rwxr-xr-x 1 greg None 195295 Jan 28 14:54 >> libplplotwxwidgets.dll - >> rwxr-xr-x 1 greg None 120392 Jan 28 14:54 libqsastime.dll -rwxr-xr-x 1 >> greg None >> 106848 Jan 28 14:55 pltek.exe >> >> greg@Homerw7 MINGW32 /d/bld/mingw32-psxdw2 $ ls -la /c/mingw/dll32-psxdw2 >> | >> grep Jan\ 28 >> -rwxr-xr-x 1 greg None 143271 Jan 28 14:54 cairo.dll >> -rwxr-xr-x 1 greg None 118558 Jan 28 14:54 libcsirocsa.dll >> -rwxr-xr-x 1 greg None 512079 Jan 28 14:54 libplplot.dll >> -rwxr-xr-x 1 greg None 188803 Jan 28 14:54 libplplotcxx.dll >> -rwxr-xr-x 1 greg None 195295 Jan 28 14:54 libplplotwxwidgets.dll >> -rwxr-xr-x 1 greg None 120392 Jan 28 14:54 libqsastime.dll >> -rwxr-xr-x 1 greg None 90308 Jan 28 14:54 mem.dll >> -rwxr-xr-x 1 greg None 82507 Jan 28 14:54 null.dll >> -rwxr-xr-x 1 greg None 120304 Jan 28 14:54 ps.dll >> -rwxr-xr-x 1 greg None 108182 Jan 28 14:54 svg.dll >> -rwxr-xr-x 1 greg None 114481 Jan 28 14:54 wingcc.dll >> -rwxr-xr-x 1 greg None 499063 Jan 28 14:55 wxwidgets.dll >> -rwxr-xr-x 1 greg None 100481 Jan 28 14:55 xfig.dll >> >> >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your >> own process in accordance with the BPMN 2 standard Learn Process modeling >> best >> practices with Bonita BPM through live exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=V >> A_SF >> _______________________________________________ >> Plplot-devel mailing list >> Plplot-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/plplot-devel > > DISCLAIMER: This message is intended exclusively for the addressee(s) and > may contain confidential and privileged information. If you are not the > intended recipient please notify the sender immediately and destroy this > message. Unauthorized use, disclosure or copying of this message is strictly > prohibited. The foundation 'Stichting Deltares', which has its seat at > Delft, The Netherlands, Commercial Registration Number 41146461, is not > liable in any way whatsoever for consequences and/or damages resulting from > the improper, incomplete and untimely dispatch, receipt and/or content of > this e-mail. ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel