Commit Graph

35 Commits

Author SHA1 Message Date
Lasse Collin
ad96a871a1 Windows: Add config.h for building liblzma with MSVC 2013.
This is for building liblzma. Building xz tool too requires
a little more work. Maybe it will be supported, but for most
MSVC users it's enough to be able to build liblzma.

C99 support in MSVC 2013 is almost usable which is a big
improvement over earlier versions. It's "almost" because
there's a dumb bug that breaks mixed declarations after
an "if" statements unless the "if" statement uses braces:

https://connect.microsoft.com/VisualStudio/feedback/details/808650/visual-studio-2013-c99-compiler-bug
https://connect.microsoft.com/VisualStudio/feedback/details/808472/c99-support-of-mixed-declarations-and-statements-fails-with-certain-types-and-constructs

Hopefully it will get fixed. Then liblzma should be
compilable with MSVC 2013 without patching.
2014-01-12 19:38:43 +02:00
Lasse Collin
6b44b4a775 Add native threading support on Windows.
Now liblzma only uses "mythread" functions and types
which are defined in mythread.h matching the desired
threading method.

Before Windows Vista, there is no direct equivalent to
pthread condition variables. Since this package doesn't
use pthread_cond_broadcast(), pre-Vista threading can
still be kept quite simple. The pre-Vista code doesn't
use anything that wasn't already available in Windows 95,
so the binaries should run even on Windows 95 if someone
happens to care.
2013-09-17 11:52:28 +03:00
Lasse Collin
29fa0566d5 Windows: Update notes about static linking with MSVC. 2012-04-29 11:51:25 +03:00
Lasse Collin
bd52cf150e Build: Fix "make check" on Windows. 2011-09-06 12:03:41 +03:00
Lasse Collin
3e321a3acd Remove doubled words from documentation and comments.
Spot candidates by running these commands:
  git ls-files |xargs perl -0777 -n \
    -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \
    -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}'

Thanks to Jim Meyering for the original patch.
2011-04-12 11:59:49 +03:00
Lasse Collin
37c25658ef Build: Copy the example programs to $docdir/examples.
The example programs by Daniel Mealha Cabrita were included
in the git repository, but I had forgot to add them to
Makefile.am. Thus, they didn't get included in the source
package at all by "make dist".
2010-10-26 15:48:48 +03:00
Lasse Collin
f25a77e6b9 Windows: Put some license info into README-Windows.txt. 2010-10-09 18:57:55 +03:00
Lasse Collin
e75100f549 Windows: Fix a diagnostics bug in build.bash. 2010-10-09 18:57:04 +03:00
Lasse Collin
71275457ca Windows: Make build.bash prefer MinGW-w32 over MinGW.
This is simply for licensing reasons. The 64-bit version
will be built with MinGW-w64 anyway (at least for now),
so using it also for 32-bit build allows using the same
copyright notice about the MinGW-w64/w32 runtime.

Note that using MinGW would require a copyright notice too,
because its runtime is not in the public domain either even
though MinGW's home page claims that it is public domain.
See <http://marc.info/?l=mingw-users&m=126489506214078>.
2010-10-09 12:27:08 +03:00
Lasse Collin
3ac35719d8 Windows: Copy COPYING-Windows.txt (if it exists) to the package.
Also, put README-Windows.txt to the doc directory like
the other documentation files.
2010-10-09 11:33:21 +03:00
Lasse Collin
7b5db576fd Windows: Fix build.bash again.
630a8beda3 wasn't good.
2010-10-08 21:42:37 +03:00
Lasse Collin
630a8beda3 Windows: Make build.bash work without --enable-dynamic=no. 2010-10-07 00:44:53 +03:00
Lasse Collin
17d3c61edd Move version.sh to build-aux. 2010-09-28 10:59:53 +03:00
Lasse Collin
ce1f0deafe Windows: Add a note about building a Git repository snapshot 2010-07-27 20:47:12 +03:00
Lasse Collin
507a4a4dea Windows: build.sh is a bash script so name it correctly. 2010-07-27 20:45:03 +03:00
Lasse Collin
b1cbfd40f0 Windows: Don't strip liblzma.a too much. 2010-07-27 20:27:32 +03:00
Lasse Collin
eb7d51a3fa Collection of language fixes to comments and docs.
Thanks to Jonathan Nieder.
2010-02-12 13:16:15 +02:00
Lasse Collin
fef6333f52 Fix typos in comments. 2010-02-01 22:47:54 +02:00
Lasse Collin
d4da177d5b Fix a comment. 2010-02-01 10:20:57 +02:00
Lasse Collin
8884e16864 Revise the Windows build files.
The old Makefile + config.h was deleted, because it
becomes outdated too easily and building with the
Autotools based build system works fine even on Windows.

windows/build.sh hasn't got much testing, but it should
work to build 32-bit x86 and x86-64 versions of XZ Utils
using MSYS, MinGW or MinGW-w32, and MinGW-w64.

windows/INSTALL-Windows.txt describes what packages are
needed and how to install them.

windows/README-Windows.txt is a readme file for the binary
package that build.sh hopefully builds.

There are no instructions about using Autotools for now,
so those using a git snapshot may want to run
"autoreconf -fi && ./configure && make mydist" on a UN*X
box and then copy the resulting .tar.gz to a Windows.
2010-01-31 23:28:51 +02:00
Lasse Collin
07a11dad44 Updated windows/Makefile.
Thanks to Dan Shechter for the patch.

It is likely that windows/Makefile will be removed
completely, because Autotols based build nowadays
works well with both 32-bit and 64-bit MinGW (I
just need to update the docs).
2010-01-17 11:59:54 +02:00
Lasse Collin
68059334ff Add PACKAGE_HOMEPAGE to {windows,dos}/config.h to fix build errors. 2009-09-11 17:06:32 +03:00
Lasse Collin
7ff0004fbc Moved the Windows resource files outside the windows directory
to prepare for building them with Autotools.
2009-06-27 17:28:01 +03:00
Lasse Collin
65014fd211 Rename process.[hc] to coder.[hc] and io.[hc] to file_io.[hc]
to avoid problems on systems with system headers with those
names.
2009-06-26 20:49:54 +03:00
Lasse Collin
cad62551c5 Ugly hack to make it possible to use the thousand separator
format character with snprintf() on POSIX systems but not
on non-POSIX systems and still keep xgettext working.
2009-06-26 20:36:45 +03:00
Lasse Collin
fe378d4707 Added missing source files to windows/Makefile. 2009-06-26 15:40:40 +03:00
Lasse Collin
390a640856 Basic support for building with Cygwin and MinGW using
the Autotools based build system. It's not good yet, more
fixes will follow.
2009-06-26 15:37:53 +03:00
Lasse Collin
1774f27c61 Fix purporse -> purpose. Thanks to Andrew Dudman.
Released .xz spec 1.0.2 due to this fix too.
2009-06-04 22:59:55 +03:00
Lasse Collin
02ddf09bc3 Put the interesting parts of XZ Utils into the public domain.
Some minor documentation cleanups were made at the same time.
2009-04-13 11:27:40 +03:00
Lasse Collin
489a3dbaa0 Added lzma_easy_buffer_encode(). Splitted easy.c into small
pieces to avoid unneeded dependencies making statically
linked applications bigger than needed.
2009-02-17 10:43:00 +02:00
Lasse Collin
0dae8b7751 Windows port: Take advantage of the version number macros.
Now the version number is not duplicated in the
Windows-specific files anymore.
2009-02-13 18:02:05 +02:00
Lasse Collin
e605c26636 Added resource files for the Windows build. 2009-02-10 21:48:05 +02:00
Lasse Collin
d0ab8c1c73 MinGW support: Don't build fastpos_tablegen.c as part of
liblzma. Build both static and dynamic liblzma, and also
static and dynamic versions of the command line tools.
2009-02-07 16:26:58 +02:00
Lasse Collin
3dfa58a9ee Some MSYS installations (e.g. MsysGit) don't include
install.exe, so don't rely on it.
2009-02-06 10:06:32 +02:00
Lasse Collin
e1c3412eec Added initial experimental makefile for use with MinGW. 2009-02-05 09:17:51 +02:00