Commit graph

15 commits

Author SHA1 Message Date
Robert Knight
b6a13d3faa Fix build issues on Ubuntu 13.04
* Add missing <unistd.h> include
 * Check for presence of bzip2 library

MD-19678 #time 10m
2013-08-29 16:38:19 +01:00
Robert Knight
addc3b253d Link libbz2 statically to fix a problem running a copy of the updater built on a Debian system on a RedHat-based system.
Under Debian, the libbz2.so SONAME is libbz2.so.1.0, so ld links to this
version of libbz2.  Debian has symlinks from libbz2.so.1 and libbz2.so.1.0 to
libbz2.so.1.0.x.  RedHat however does not have the libbz2.so.1.0 symlink
so linking fails at runtime.

This commit fixes the problem by linking to libbz2 statically on Linux.
This does not bloat the updater library too much as libbz2 is only 70K
(measured on Ubuntu 11.04).
2011-10-03 11:53:02 +01:00
Robert Knight
59f8cd753f Link the updater with the static VC++ runtime on Windows
This allows the updater to work on older Windows XP systems
without the VC++ 2008 runtime redistributable installed.

 * Add statically linked pre-built versions of the zlib and
   bzip2 libraries.

This increases the size of the updater executable by 200KB
to ~400KB on Windows.
2011-09-15 18:34:45 +01:00
Robert Knight
d0ca137fb6 Add bzip2 1.0.6 source from bzip.org and a pre-built libbz2 library for the Windows build.
On Linux and Mac, the system bzip2 library can be used.
2011-09-05 15:47:40 +01:00
build
cdbabeb179 Enable bzip2 decompression support
Build the minizip library with HAVE_BZIP2 and link to libbz2
2011-09-05 14:51:36 +01:00
Robert Knight
2f89332824 Show a useful product name and description in the UAC prompt under Windows Vista/7
Add a VERSION_INFO section to the executable's resource file specifying
the product name and description.

The organization is currently set as 'Mendeley Ltd' - other projects
will want to customize this.

When the produced executable is digitally signed, the product name
and description are shown in the UAC prompt asking for admin
permissions.
2011-09-02 12:53:44 +01:00
Robert Knight
6dac1d8c0e Add pre-built zlib library to build tree for Windows builds
The zlib build system is not integrated with the updater's build
system.  Rather than write a small CMakeLists.txt for the build,
this commit just adds a pre-built version of zlib
2011-08-23 20:38:20 +01:00
Robert Knight
d16da069e9 Add Win++ library to external
This is a thin wrapper around the Win32 API used in the Win32
Updater Dialog implementation.
2011-08-23 19:54:52 +01:00
Robert Knight
6418b44924 Use zlib from external/zlib to build the minizip library on Win32 2011-08-22 16:37:53 +01:00
Robert Knight
6a264f80b7 Add missing object file to zlib Makefile 2011-08-22 16:34:35 +01:00
Robert Knight
584ff64b49 Add ZLib 1.2.5 to external/zlib from http://www.winimage.com/zLibDll/minizip.html 2011-08-22 16:03:42 +01:00
Robert Knight
4bcf379839 Fix minizip library compilation under OS X
Set the USE_FILE32API flag on Mac since fopen64()
and several related calls do not exist on that platform which
uses 64bit I/O in the standard file methods.

See http://stackoverflow.com/questions/4003479/how-to-enable-large-file-support-under-darwin
for details.
2011-08-22 14:19:07 +01:00
Robert Knight
5360d05867 Remove dependency on Boost::Thread and use the TinyThread library instead.
This saves the need to install Boost::Thread on each of the build systems.
2011-08-22 14:00:00 +01:00
Robert Knight
71f197deb7 Add minizip library and use it to implement extraction of files from zip archives. 2011-08-20 00:38:05 +01:00
Robert Knight
66ade327db WIP - Standalone update installer with no dependency on Qt 2011-08-19 19:59:21 +01:00