"Fossies" - the Fresh Open Source Software Archive

Member "glibmm-2.74.0/README.win32" (19 Sep 2022, 5625 Bytes) of package /linux/misc/glibmm-2.74.0.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 Building glibmm on Win32
    2 ===========================
    3 
    4 Currently, both the mingw (native win32) gcc compiler and MS Visual
    5 Studio 2017 and later are supported. glibmm can be built with
    6 mingw32-gcc using the gnu autotools (automake, autoconf, libtool).
    7 As explicitly stated in the gtk+ for win32 distribution
    8 (http://www.gimp.org/win32/), the gcc compiler provided by the cygwin
    9 distribution should not be used to build glib/glibmm libraries and/or
   10 applications (see the README.win32 that comes with the gtk+ DLLs).
   11 This MIGHT cause conflicts between the cygwin and msvcrt runtime
   12 environments.
   13 
   14 1. Mingw
   15 
   16 The mingw distribution which has been tested with this release is the
   17 following :
   18 
   19 * MinGW-4.1 as the base distribution.
   20 
   21 The bare mingw distribution does not provide the necessary tools (sh, perl, m4
   22 , autoconf, automake, ..) to run the provided configure script "as is". One
   23 (currently non supported) solution is to use mingw in conjunction with msys,
   24 which is readily available on the mingw website (http://www.mingw.org/).
   25 
   26 The preferred method is to combine the cygwin distribution (for the unix tools
   27 that were mentioned above) with mingw by making sure that the mingw
   28 tools (gcc, ld, dlltool, ..) are called first.
   29 
   30 First, make sure that you have working distribution of the native port
   31 of both libsigc++-3.0.x and glib-2.0 on win32 (see
   32 http://www.gimp.org/win32). If you can't compile a simple glib example
   33 using gcc and `pkg-config --cflags --libs`, you should not even think
   34 about trying to compile glibmm, let alone using precompiled libglibmm
   35 DLLs to port your glibmm application !
   36 
   37 The configure script can then be called using (as an example) the
   38 following options
   39 
   40 ./configure --prefix=/target --build=i386-pc-mingw32 --disable-static
   41 
   42 then
   43 
   44 make
   45 make check
   46 make install
   47 
   48 2. MS Visual Studio 2017
   49 
   50 In a Visual Studio command prompt, navigate to the MSVC_NMake directory.
   51 Run 'nmake /f Makefile.vc CFG=[release|debug]' to build the glibmm and
   52 giomm DLLs, along with their example programs.  If a prefix other than
   53 $(srcroot)\..\vs15\$(Platform) is desired, pass in PREFIX=$(your_prefix)
   54 in the NMake command line.  In order to build the giomm settings example
   55 program, the glib-compile-schemas needs to reside in $(PREFIX)\bin, or
   56 it must be specified via passing in GLIB_COMPILE_SCHEMAS.  If using C++
   57 dependencies that are built with Meson, specify USE_MESON_LIBS=1 in your
   58 NMake command line.
   59 
   60 Note that $(VSVER) refers to 15 for Visual Studio 2017 and 16 for Visual
   61 Studio 2019.  Note that it is recommended and possibly required to build
   62 glibmm and anything that depends on glibmm with the same Visual Studio
   63 version, even for Visual Studio 2017 and 2019 which Microsoft tried
   64 very hard to make the binaries API and ABI compatible between these versions.
   65 
   66 The build now creates DLLs and .lib's based on the toolset version (i.e.
   67 'vc141' for Visual Studio 2017 builds and 'vc142' for Visual Studio 2019
   68 builds instead of vc$(VSVER)0 as before, to be consistent across the board).
   69 Since it might be desired to use the old naming scheme, a 'USE_COMPAT_LIBS=1'
   70 may be used for such situations, such as when re-building dependent code is
   71 inconvenient.  For the Meson builds, pass in the option
   72 '-Dmsvc14x-parallel-installable=false' to the Meson configure command line
   73 to avoid having the toolset version in the final DLL and .lib filenames;
   74 again, this is only recommended if it is inconvenient to re-build the
   75 dependent code.
   76 
   77 A 'tests' target will build the test programs for glibmm and giomm, an
   78 'install' target is provided to copy the built DLLs and LIBs, along with
   79 with the public headers to appropriate subdirs of $(PREFIX).  A 'clean'
   80 target is also provided to remove all the built files.
   81 
   82 The NMake Makefiles now support building the glibmm libraries directly from a GIT checkout
   83 with a few manual steps required, namely to:
   84 
   85 -Ensure that you have a copy of Cygwin or MSYS/MSYS64 installed, including
   86  m4.exe and sh.exe.  You should also have a PERL for Windows installation
   87  as well, and your PATH should contain the paths to your PERL interpreter
   88  and the bin\ directory of your Cygwin or MSYS/MSYS64 installation, and
   89  it is recommended that these paths are towards the end of your PATH.  You need
   90  to install the XML::Parser PERL module as well, which requires libexpat.
   91 
   92 -Make a new copy of the entire source tree to some location, where the build
   93  is to be done; then in $(srcroot)\MSVC_NMake run
   94  nmake /f Makefile.vc CFG=[release|debug], which will first copy and generate
   95  the following files with the proper info (this step will also be run if the following
   96  files are not present in the unpacked source tarball):
   97  --$(srcroot)\MSVC_NMake\glibmm\glibmmconfig.h
   98  --$(srcroot)\MSVC_NMake\giomm\giommconfig.h
   99  --$(srcroot)\MSVC_NMake\glibmm\glibmm.rc
  100  --$(srcroot)\MSVC_NMake\giomm\giomm.rc
  101  --$(srcroot)\tools\gmmproc
  102  --$(srcroot)\tools\generate_wrap_init.pl
  103 
  104 For giommconfig.h, it is recommended to keep GIOMM_STATIC_LIB and GIOMM_DISABLE_DEPRECATED
  105 undefined unless you know what you are doing (remember, the NMake Makefiles only support DLL
  106 builds out-of-the-box).  For builds from the release tarballs, running
  107 nmake /f Makefile.vc CFG=[release|debug] gen-perl-scripts-real will also generate
  108 $(srcroot)\tools\gmmproc and $(srcroot)\tools\generate_wrap_init.pl for you.
  109 
  110 Note that to generate any of the above 6 files, a PERL installation is also required.
  111 
  112 3. Glibmm methods and signals not available on win32
  113 
  114 All glibmm methods and signals are available on win32.
  115