On Sat, 5 Jan 2013, DRC wrote:

(1) BUILDING.txt needs to be modified to indicate that
fltk-xfixes-xcursor-cmake.2.patch should be applied with patch -p0, not -p1.

Fixed.



(2) It would be much more convenient if BUILDING.txt contained full
links to the patches, rather than links to the page from which they are
downloaded.  That way, one could use wget to download them, which is a
more streamlined workflow, since one is building from the command line.

Yes, I guess that would be useful. Right now, however, the plan is to update to FLTK 1.3.2 as a base. That will get rid of many patches.



(3) CMakeLists.txt in the FLTK build system needs to be patched as follows:

--- CMakeLists.txt      (revision 9619)
+++ CMakeLists.txt      (working copy)
@@ -167,6 +167,9 @@
 endif(LIB_png)
 CHECK_FUNCTION_EXISTS(png_get_valid          HAVE_PNG_GET_VALID)
 CHECK_FUNCTION_EXISTS(png_set_tRNS_to_alpha  HAVE_PNG_SET_TRNS_TO_ALPHA)
+if(LIB_png)
+   set(CMAKE_REQUIRED_LIBRARIES "")
+endif(LIB_png)

 CHECK_FUNCTION_EXISTS(scandir                HAVE_SCANDIR)
 CHECK_FUNCTION_EXISTS(snprintf               HAVE_SNPRINTF)


Otherwise, it will try to add -lpng to all of the subsequent function
checks, which causes them to fail on some machines (including mine.)

Have you reported this to the FLTK folks? Again, probably makes sense to wait with further debugging on this until we have 1.3.2.



(4) Fluid build fails on Mac using CMake unless CMakeLists.txt in the
FLTK build system is patched as follows:

As point 3), I think.


(5) When building FLTK, one needs to manually specify
-DCMAKE_BUILD_TYPE=Release if one wants optimized code.  Either the FLTK
CMakeLists.txt needs to be modified to make CMAKE_BUILD_TYPE=Release the
default, or it needs to be documented in TigerVNC's BUILDING.txt that
adding this variable is necessary to produce optimized code.

Fixed.


(6) The TigerVNC build will fail unless I patch TigerVNC's
CMakeLists.txt as follows:

--- CMakeLists.txt      (revision 5021)
+++ CMakeLists.txt      (working copy)
@@ -265,6 +265,7 @@
   if(X11_Xcursor_FOUND)
     set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xcursor_LIB})
   endif()
+  set(FLTK_LIBRARIES ${FLTK_LIBRARIES} png)
 endif()


This goes away when building FLTK with -DOPTION_USE_SYSTEM_LIBPNG=0, but
distribution vendors will run into this problem, since they'll probably
want to use the system libpng.  Since the patch above does no harm when
using FLTK's internal PNG library, I would suggest going ahead and
applying it to TigerVNC.

Shouldn't this go into vncviewer/CMakeLists.txt instead?



(7) Building FLTK using MinGW is problematic because of the dependency
on the libgcc and libstdc++ DLL's.  These dependencies are automatically
taken care of in the TigerVNC build system, but the FLTK build system
doesn't have that same code.  It's particularly a problem with MinGW64,
since those DLLs aren't in the PATH, and thus the build will actually
fail because it's trying to run a test program that it just built.  It's
problematic in general because, if FLTK depends on libgcc and libstdc++,
so will the TigerVNC executable, which makes packaging it difficult.
This was one reason why it was advantageous to build FLTK in the
TigerVNC tree (it took on the build properties of the rest of the
TigerVNC code.)  The only way I was able to hack around the issue was by
copying the BUILD_STATIC code from the TigerVNC CMakeLists.txt file into
the FLTK CMakeLists.txt file.  Yuck.

Yes, this is somewhat problematic, but as you point out, this is really a problem with FLTK rather than TigerVNC.


(8) You are using ImageMagick to generate tigervnc.png.  Of course
ImageMagick is not available on Windows, so the Windows build fails.  I
mean, seriously, check the PNG files into SVN.  They're all of, what, 2
kilobytes?!

I have no objections to checking in the PNG files, but is this really enough? Have you tried running the build with the PNG files already in place? My guess is that CMake and the make files will still look for "convert" etc and fail if it's not available. We would probably need some kind of logic that only looks for "convert" if the PNG files needs remake.


Rgds, ---
Peter Åstrand           ThinLinc Chief Developer
Cendio AB               http://cendio.com
Teknikringen 8          http://twitter.com/ThinLinc
583 30 Linköping        http://facebook.com/ThinLinc
Phone: +46-13-214600    http://plus.google.com/112509906846170010689
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to