summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* directwrite: support WinRT/UWP, which forbid LoadLibraryOleg Oshmyan2021-07-101-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Normally, we delay loading Dwrite.dll until runtime to allow building and running DirectWrite-enabled libass binaries on old Windows versions that lack DirectWrite. However, this is forbidden in WinRT/UWP. DirectWrite is present in all versions of Windows that support WinRT/UWP, so we lose nothing by requiring it. Older Windows SDKs (Microsoft and MinGW alike) lack <winapifamily.h>, so include it only if we really need it. Based on VLC patch for libass: https://github.com/videolan/vlc/commit/eedb57aa96d2bc0046a6da2e081c75ae9edf8fd5 and on this autoconf code: https://github.com/lu-zero/mfx_dispatch/commit/c51a54c15f51579804030c70592c0a26065f1242 Note: the VLC patch retained an unconditional call to FreeLibrary in destroy_provider. However, FreeLibrary does not actually expect NULL as argument, so this commit adds a guard to that call. Perhaps FreeLibrary(NULL) simply fails cleanly and that's why this has not caused VLC problems, but we should not rely on this.
* Release 0.15.10.15.1Oleg Oshmyan2021-05-021-1/+1
|
* Print libass versionOneric2021-03-261-1/+17
| | | | | | | | | This could help us in future bug reports and we already do so for shapers and freetype. Also include a guess about the source code version, which may not be entirely reliable. Eg if custom tarballs are involved or if patches are added after configure was called, the value will be wrong. But hopefully it will be "good enough" for most cases.
* x86: update x86incRyan Lucia2021-02-231-14/+7
| | | | This should fix the warnings introduced with nasm 2.15
* configure: Remove superfluous commaOneric2021-02-221-1/+1
| | | | AC_LANG_PROGRAMM only takes two parameters.
* configure: Replace obsolete macrosOneric2021-02-221-3/+1
| | | | | | | | | | | | | | AC_CONFIG_HEADER has been replaced with AC_CONFIG_HEADERS for a long time and recent version of autotools started complaining about it. AC_HEADER_STDC has been deemed "obsolescent" and unneeded for "new programs" since at least autotools 2.60, which was released 2006. On top of it we're not even using its output variable anywhere to check if the system headers do in fact conform to the C standard, so remove this superfluous test. AC_HEADER_STDBOOL is not obsolecent, but simalarly to AC_HEADER_STDC we never use its output anywhere, so it can be removed as well.
* configure: correct NASM-configuration on 32bit BSDOneric2021-02-221-1/+9
| | | | | | | | | This patch was adapted from FreeBSD: https://svnweb.freebsd.org/ports/head/multimedia/libass/files/patch-configure.ac?view=markup and was also applied in DragonFlyBSD (eventhough DragonFlyBSD dropped 32bit support in 2014) closes https://github.com/libass/libass/issues/451
* configure: respect user-LIBS while locating system libsOneric2021-02-221-4/+1
| | | | | | | | | | | | | This allows to eg supply an alternative math library via LIBS="-lmymath" ./configure (in case the system has a seperate libm) This also means user-supplied LIBS now end up in our pc's Libs.private, which is probably correct for most cases. In case this assumptions turns out to be wrong and your reading this after bisecting some obscure error, well sorry about that. To exclude user-LIBS from pkg_libs again, eg save OLDLIBS="$LIBS" before and then set pkg_libs="${LIBS#$OLDLIBS}" after locating system libs.
* pc: use private and public fileds according to specOneric2021-02-221-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Libs.* are to be used for libraries not supplying a pc-file, eg system libs, while Requires.* is meant for libraries which do supply a *.pc-file. The public version of those fields is only to be used for libs whose symbols end up being exposed by our lib, by eg including one of their headers in our own headers. Those libs must be linked to both for dynamic and static builds. The private versions are not directly exposed to users of our lib and will only be linked to if an static build is requested. Those libs don't need to be linked for dynamic builds, but _will_ be linked in static builds. This also has implications for package maintainers, see eg https://lists.debian.org/debian-devel-announce/2005/11/msg00016.html . The intent in 7393996cfe0136f130a6a23bb9fb6f4ddce82d87, seems to have been making this static/dynamic build distinction ourselves. However this is both a needless complication in our config script as pkg-config already handles this, and prone to fail as requesting a static build is required anyway to get the *.private link flags of our dependencies as well. The correct way to handle a static build is to request one, eg one way to do this for an executable built with autotools and pkg-config is: LDFLAGS="-static" PKG_CONFIG="/usr/bin/pkg-config --static" ./configure
* configure: restyle everythingOneric2021-02-221-117/+138
| | | | | | - Prefer Autotool's M4-macros over raw shell constructs - Consistent indents - Always quote variables in test expressions
* configure: let USE_ICONV depend on a usable iconv.hOneric2021-02-151-10/+12
| | | | | | | | The result of the stdint.h check is neither used in the config script nor the code; remove the superfluous stdint-h check. As we do not use AC_CHECK_HEADERS (not-)found-callbacks or its additional includes, AC_CHECK_HEADERS_ONCE is sufficient and a tad faster; replace AC_CHECK_HEADERS with AC_CHECK_HEADERS_ONCE.
* configure: remove unused programsOneric2021-02-151-2/+0
| | | | | | We don't use the C-preprocessor standalone and manually choose and configure NASM as our assembler, so there's no need to let autotools search for CPP and an assembler.
* configure: Fix --enable-large-tilesOneric2020-11-131-2/+2
| | | | | | Due to a misplaced comma this config switch was broken. A follow-up commit will change our autoconf-style in a way, that should make it harder for errors like this one to slip in.
* configure: use AC_SEARCH_LIBS instead of AC_CHECK_LIBOneric2020-11-131-1/+6
| | | | | | | | | | | This avoids unneccessary -lm flags on some platforms integrating libm into libc and allows us to detect systems that do not provide implementations of math functions in either libc or libm. The caveat is, that some systems, like FreeBSD split their math functions between libc and libm. By checking for C99 lrint instead of C89 fabs, this check correctly includes libm in FreeBSD; let's hope this also holds for other systems splitting up their math.h implementations.
* configure: remove unnecessary CXXFLAGSOneric2020-11-131-1/+0
| | | | | | | Those were added in commit 29fd129671bb66a2e54717ca666b6ccd7f7ee941 together with the initial DirectWrite implementation, which was in C++. As of 1c55ca966f356030a863479459055c48e98ed1e5 our DirectWrite implementation is C, so CXXFLAGS are no longer needed.
* configure: Explain iconv-check logicOneric2020-11-131-0/+4
| | | | | | | | | | Commit 8bebabe4a62a6d54cdfecace59c382efa80a8e47 apparently added the libiconv_open check to support libraries like GNU libiconv defining their iconv-functions as a macro expanding to lib*. As this i not immediately obvious, add an explaining comment. Additionally AC_SEARCH_LIBS will first try to link the ptrogramm with only the current $LIBS and not add anything to $LIBS if that already succeeds, thus avoiding adding '-liconv' twice.
* configure: Don't add iconv to pkg_libs a second timeOneric2020-11-131-8/+4
| | | | | | | | | This seems to have erronously slipped in again with commit 5ab9950816ffcac46afec4ad327640ab28a49109. It was previously addded in commmit e572a26d29ddff883880ef7b1c295acaa62a8a2f when all libs were still added manually and shortly after removed again in commit 4b6a81eb4fd79198ceef813418aaa938190624ba, which switched to generating pkg_libs from LIBS.
* configure: Reoder configuration logicOneric2020-11-131-137/+150
| | | | | This should make this a bit easier to understand and more readable. Apart from comments nothing was removed or added, just reodered.
* autotools: Set automake flavour on AM_INITOneric2020-11-051-1/+1
|
* configure: add Haiku NASM supportOneric2020-11-051-2/+13
| | | | | | And print an error on attempts to use ASM on an unrecognized system as NASM would very likely produce borked files anyway. (erroring out can still be avoided with --disable-asm)
* Release 0.15.00.15.0Oleg Oshmyan2020-10-271-1/+1
|
* Make harfbuzz a hard dependency; closes #199rcombs2020-10-221-10/+3
|
* ass_shaper: fix harfbuzz deprecation warning; closes #320rcombs2020-07-051-2/+2
|
* Add infrastructure for regression testingDr.Smile2020-05-071-3/+6
| | | | `test` subdirectory contains complete test example.
* Release 0.14.00.14.0Oleg Oshmyan2017-10-311-1/+1
|
* configure: remove obsolete --disable-rasterizer optionOleg Oshmyan2017-10-311-2/+0
| | | | | The internal rasterizer cannot be disabled (and the option has no effect) since commit ef6cc020bc00118a5b142b37fe401327a029a1fc.
* Support Core Text on earlier versions of Mac OS XOleg Oshmyan2017-10-311-12/+21
| | | | | | | | | | | | | | | | | | | Loosely based on behdad/harfbuzz@b96af03c20e46105982b3608b608614403540661. Prefer to link against ApplicationServices to maximize the portability of binaries built on newer versions of macOS. The symbol kCTFontURLAttribute, which is checked in this commit, was introduced in Mac OS X 10.6, the latest of any Core Text symbols that we use. It is essential to our Core Text font provider, so this is the earliest version of Mac OS X where we can support this font provider. The TARGET_OS_IPHONE conditional that this commit adds is necessary to continue supporting iOS in addition to supporting old Mac OS X. On iOS, CoreText.h *must* be included to use Core Text, whereas on old Mac OS X, CoreText.h is not directly accessible and ApplicationServices.h must be used. On modern macOS, either header works. This conditional is also used in HarfBuzz.
* Don't link Core Text font provider to unneeded CoreGraphics frameworkOleg Oshmyan2017-10-311-1/+1
|
* Completely exclude ass_fontconfig.c from build when it is disabledOleg Oshmyan2017-10-271-0/+1
|
* build: switch from yasm to nasmRodger Combs2017-09-051-9/+9
|
* configure: cleanup in preparation for x86inc update and switch to nasmRodger Combs2017-09-051-16/+20
|
* renderer: remove legacy FreeType rasterizerDr.Smile2017-07-311-7/+0
|
* Release 0.13.70.13.7Grigori Goronzy2017-06-031-1/+1
|
* Bump ABI version and release 0.13.60.13.6Oleg Oshmyan2017-01-031-1/+1
| | | | | | sizeof(ASS_Style) is actually part of the ABI, so adding the Justify field in commit e54c123d5a08b6212533ddcced2cb1a50fa3d2b2 broke the ABI even though we tried to avoid it by placing the field at the end of the struct.
* Release 0.13.50.13.5Oleg Oshmyan2016-12-291-1/+1
|
* Release 0.13.40.13.4Grigori Goronzy2016-10-051-1/+1
|
* Release 0.13.30.13.3Grigori Goronzy2016-09-241-1/+1
|
* configure: use proper quoting on iconv testSean McGovern2016-03-131-2/+2
| | | | Unquoted strings cause an error when the test variable is empty.
* configure: add libiconv only when it is both present and requiredSean McGovern2016-03-091-0/+4
|
* configure: use correct ASFLAGS for yasm on SolarisSean McGovern2016-03-091-1/+1
|
* configure.ac: add missing spaces to error messagewm42016-03-101-2/+2
|
* Release 0.13.20.13.2Oleg Oshmyan2016-02-201-1/+1
|
* Release 0.13.10.13.1Oleg Oshmyan2015-12-011-1/+1
|
* fontconfig: read PostScript namesOleg Oshmyan2015-10-231-2/+2
| | | | | | | And fix two wrong comments. Bump the Fontconfig version requirement to 2.10.92 (2.11 RC2), released on 2013-03-29, to ensure Fontconfig caches and exposes PostScript names.
* configure: don't add unnecessary libraries to PKG_LIBS_PRIVATEOleg Oshmyan2015-10-141-3/+6
| | | | | | Library checks can succeed if the needed functions exist in libc and don't need any extra linker flags. Avoid adding unnecessary flags (which break static linking against libass) in this case.
* configure: include -liconv if that is foundwm42015-10-131-2/+7
|
* configure: Set the correct x32 machine option for yasmLuke Dashjr2015-10-101-0/+6
|
* Release 0.13.00.13.0wm42015-10-031-1/+1
|
* configure: do not add -ldwrite to libass.pcwm42015-09-241-3/+0
| | | | | This was forgotten. We always load dwrite.dll at runtime, so this isn't needed.
* Remove ENCA supportGrigori Goronzy2015-09-231-14/+0
| | | | | | | | | | | There is no real value in it. ENCA only works in some cases and I can't find any information about software that integrates libass which relies on it or users that rely on ENCA support in case the interface is exposed directly (e.g. in MPlayer). If there is still a wish to have charset detection integrated into libass (it is out of scope, IMHO), a better library like uchardet should be used for that.
* unistd.h is not neededOleg Oshmyan2015-09-171-1/+1
|
* configure: make fontconfig optionalwm42015-09-071-1/+14
|
* configure: proper configure switches for DirectWrite and CoreTextwm42015-08-281-0/+5
| | | | | Also, remove the ass_coretext.c conditional compilation hack, and fix Makefile.am instead.
* configure: remove some unneeded checkswm42015-07-111-10/+2
|
* directwrite: convert to Cwm42015-07-111-6/+2
| | | | | | | | | | | | | | | | | | | | | Unfortunately, nobody ever tested the MinGW dwrite.h header in C. There are multiple glaring mistakes, and the header doesn't even compile by itself. The main issues are overloaded functions (which doesn't work in C), and broken COBJMACROS defines. dwrite.diff contains changes to dwrite.h which make libass work. Warning: the patch lacks a required change to the DrawInlineObject method of IDWriteTextRenderer (missing THIS_). Additionally, these definitions would ideally be provided by dwrite.h: DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a,0xd838,0x4b5b,0xa2,0xe8,0x1a,0xdc,0x7d,0x93,0xdb,0x48); DEFINE_GUID(IID_IDWritePixelSnapping, 0xeaf3a2da,0xecf4,0x4d24,0xb6,0x44,0xb3,0x4f,0x68,0x42,0x02,0x4b); DEFINE_GUID(IID_IDWriteTextRenderer, 0xef8a8135,0x5cc6,0x45fe,0x88,0x25,0xc5,0xa0,0x72,0x4e,0xb8,0x19); Also, in order to make libass compile out of the box with current MinGW/msys installations, a very stripped down in-tree copy of dwrite.h is provided.
* directwrite: dynamically load dwrite.dllwm42015-07-111-4/+1
|
* directwrite: compile only on Windowswm42015-07-111-0/+1
|
* directwrite: add font fallback callbackGrigori Goronzy2015-07-101-0/+1
| | | | | | This uses a faux rendering with a high-level interface of DirectWrite to determine a suitable fallback. Choices are different from GDI, but reasonable.
* directwrite: fix linkingGrigori Goronzy2015-07-101-0/+3
|
* directwrite: add initial fontselect implementationfeliwir2015-07-101-0/+1
| | | | Incomplete, leaks memory, but capable of rendering something.
* Changed configure.ac to work with c++ filesfeliwir2015-07-101-3/+2
|
* Compile the check with the g++ compiler nowStephan Vedder2015-07-101-0/+5
|
* Added directwrite checkStephan Vedder2015-07-101-0/+20
|
* Provisional support for libiconvGrigori Goronzy2015-07-101-0/+1
|
* fontselect: implement a coretext font providerStefano Pigozzi2015-07-101-0/+22
| | | | | | | | | | | | | | | Fontconfig is known to be very slow on OS X and Windows, this has to do with the extremely prohibitive cache times (which are getting even longer with latest versions of Fontconfig). This commits starts to address the problem by using CoreText on OS X to load the font data. The commit uses the simplest possible approach to load all of the data in memory and then use it to match. This causes a somewhat slow startup time (around ~400ms on my i7) but it is already better than waiting *minutes* for Fontconfig to cache the fonts data. A later commit will improve the speed of the match by using a hybrid approach that lazy loads in the libass database only the necessary fonts.
* Release 0.12.30.12.3wm42015-06-301-1/+1
|
* Release 0.12.20.12.2wm42015-05-071-1/+1
|
* Update version and changelog0.12.1wm42015-01-071-1/+1
|
* Provide a strndup() fallbackwm42014-11-171-1/+1
| | | | | This standard function is not available everywhere, so we detect it and provide a fallback if missing.
* Use LT_INIT for better autoreconf compatibilityRodger Combs2014-10-251-1/+1
|
* Update version and changelog0.12.0Grigori Goronzy2014-10-231-1/+1
|
* configure.ac: Treat DragonFly as the rest of BSDsJan Beich2014-07-151-1/+1
|
* Implement fast quad-tree rasterizer in C and x86/SSE2/AVX2Dr.Smile2014-04-291-0/+18
| | | | Signed-off-by: Rodger Combs <rodger.combs@gmail.com>
* Update version info and changelog0.11.2Grigori Goronzy2014-04-251-1/+1
|
* Redesigned configure/Makefile setup11rcombs2014-02-241-47/+57
| | | | | | Adds yasm version check and handles Free/OpenBSD/win32 correctly. Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
* Update version info and changelog0.11.1Grigori Goronzy2014-02-191-1/+1
|
* Update version infoGrigori Goronzy2014-02-181-1/+1
|