On Wed, 2008-10-15 at 15:04 -0400, Philip Kovacs wrote: > * Armin Burgmeier <[EMAIL PROTECTED]> [2008-10-15 20:25:22 +0200]: > > > On Wed, 2008-10-15 at 13:33 -0400, Philip Kovacs wrote: > > > I installed the latest gtkmm Windows development package and I > have > > > some comments. > > > > > > From the point of view of application developers who require gtkmm > as > > > a dependency, this new -vcXX- naming convention for the import > libraries > > > is a burden. > > > > > > I have to rework my build systems to handle this new library > naming > > > convention; offer end-users a switch to select VC80/90 and then > link > > > to the correct libraries after "assembling" a library name based > on the > > > switch. > > > > I don't know what your end-users are (actual users, or application > > developers?), but can't you just use the vc80 binaries if you are > > building with MSVC++ 2005 and the vc90 ones if you are building with > > MSVC++ 2008? > > I am the developer, so my end-users are the ones who will install > the > gtkmm runtime in order to use my applications.
I still don't get what the problem is with this. You decide what you build your application with, and things will just work for the users because the runtime package contains all the necessary files to run the application, regardless whether you build against the MSVCRT80 or the MSVCRT90 runtime. > The argument that "confusion would result" if people copied the gtkmm > files into Windows/System32 is specious. People simply should not > be doing that. You should install gtkmm to a non-system directory > and > then use the path environment var to add the gtkmm bin/ to your path. But if there are two applications, one built with MSVC 2005 and one with MSVC 2008, then they should use different DLLs, right? If these DLLs have the same name, then this cannot work (at least not if the DLLs are meant to be shared). > My issue with the naming convention is that developers, such as > myself, > now have to make some very unusual changes to their build systems > to link gtkmm/glibmm/cairomm/sigc correctly. Sorry, I don't get it. What changes do you have to make, and why? Is the problem that you rather want to change the library search path instead of the library names to toggle between the vc80 and the vc90 builds? > Furthermore, there is no real need to tag the import libraries with > the > runtime name since the link libraries can easily be observed with > programs > like depends.exe. Anyone who is "confused" as to what gtkmm-2_4.dll > links > to can use depends, or programs like it, to observe what is going on. But we still couldn't have both shared vc80 and vc90 DLLs if they would have the same name. The import libraries have been tagged with the same convention because linking against a vc80 import library makes the program depending on the vc80 DLL, and linking against a vc90 import library makes the program depending on the vc90 DLL. > The visual cue in the filenames is very unusual and throws a problem > back > to all build systems that have the *mm's as deps. We used the same conventions as the boost C++ libraries, here: http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming So this seems not to be too unusual. Would you have the same problems with boost? > Even if you were to maintain only one installer, it would be better to > install > several trees that are rooted by the runtime version, rather than > create one > tree and use these names. > > I hope you will consider it. First, I would be interested in a few more opinions on this. > Phil > > BTW I know you worked hard on the new installer and my criticism is > meant > to be taken in a constructive light. Armin _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
