Commit Graph

59 Commits

Author SHA1 Message Date
Lasse Collin c21983c760 Build: Add string_conversion.c to CMake, DOS, and VS files. 2022-11-30 17:50:17 +02:00
Lasse Collin 802d57d921 Windows: Update the VS project files for ARM64 and .lz support. 2022-11-09 15:12:13 +02:00
Lasse Collin e66787bcfe Windows: Fix broken liblzma.dll build with Visual Studio project files.
The bug was introduced in 352ba2d69a
"Windows: Fix building of resource files when config.h isn't used."

That commit fixed liblzma.dll build with CMake while keeping it
working with Autotools on Windows but the VS project files were
forgotten.

I haven't tested these changes.

Thanks to Olivier B. for reporting the bug and for the initial patch.
2022-08-18 17:38:05 +03:00
Antoine Cœur 2fb0ddaa55 spelling 2019-05-11 20:52:37 +03:00
Lasse Collin 64030c6b17 Windows: Update VS version in windows/vs2019/config.h. 2019-05-01 16:43:16 +03:00
Julien Marrec 2dc9117f5f Windows: Upgrade solution itself 2019-05-01 16:41:26 +03:00
Julien Marrec ac31413916 Windows: Upgrade solution with VS2019 2019-05-01 16:41:26 +03:00
Julien Marrec be25a0c37b Windows: Duplicate windows/vs2017 before upgrading 2019-05-01 16:40:52 +03:00
Lasse Collin 1e3f29b62f Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
I understood that if a WTPV is specified, it's often wrong
because different VS installations have different SDK version
installed. Omitting the WTPV tag makes VS2017 default to
Windows SDK 8.1 which often is also missing, so in any case
people may need to specify the WTPV before building. But some
day in the future a missing WTPV tag will start to default to
the latest installed SDK which sounds reasonable:

https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html

Thanks to "dom".
2019-01-13 17:29:23 +02:00
Lasse Collin a1e2c568de Windows: Fix paths in VS project files.
Some paths use slashes instead of backslashes as directory
separators... now it should work (I tested VS2013 version).
2017-09-16 20:36:20 +03:00
Lasse Collin cea5cf8d26 Windows: Update VS2017 project files to include file info decoder. 2017-09-16 12:56:20 +03:00
Lasse Collin 95d563db3e Windows: Add project files for VS2017.
These files match the v5.2 branch (no file info decoder).
2017-09-16 12:56:05 +03:00
Lasse Collin ab72416d62 Windows: Update VS2013 project files to include file info decoder. 2017-09-16 12:45:50 +03:00
Lasse Collin 8238898018 Windows: Move VS2013 files into windows/vs2013 directory. 2017-09-16 12:44:06 +03:00
Lasse Collin 662b27c417 Update the home page URLs to HTTPS. 2017-04-19 22:17:35 +03:00
Lasse Collin af13781886 Windows/MSVC: Update config.h. 2015-11-03 20:31:31 +02:00
Lasse Collin 0275a5398c Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
src/liblzma/common/common.h uses it to set __declspec(dllexport)
for the API symbols.

Thanks to Adam Walling.
2015-08-09 21:06:26 +03:00
Lasse Collin a74525cf9b Windows: Omit unneeded header files from MSVC project files. 2015-08-09 21:02:20 +03:00
Lasse Collin 3a5d755d05 Windows: Update the docs. 2015-06-19 20:21:30 +03:00
Lasse Collin b0798c6aa6 Windows: Add MSVC project files for building liblzma.
Thanks to Adam Walling for creating these files.
2015-06-19 17:25:31 +03:00
Lasse Collin b85ee0905e Windows: Fix bin_i486 to bin_i686 in build.bash. 2014-12-21 19:50:38 +02:00
Lasse Collin 3af91040bb Windows: Update build instructions. 2014-12-20 20:42:33 +02:00
Lasse Collin 0152f72bf6 Windows: Update the build script and README-Windows.txt.
The 32-bit build is now for i686 or newer because the
prebuilt MinGW-w64 toolchains include i686 code in the
executables even if one uses -march=i486.

The build script builds 32-bit SSE2 enabled version too.
Run-time detection of SSE2 support would be nice (on any OS)
but it's not implemented in XZ Utils yet.
2014-12-20 20:41:48 +02:00
Lasse Collin 4a1f6133ee Windows: Define TUKLIB_SYMBOL_PREFIX in config.h.
It is to keep all symbols in the lzma_ namespace.
2014-12-19 15:51:50 +02:00
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