Commit 979e018e authored by Mo Zhou's avatar Mo Zhou

New upstream version 2.4.0

parent b0e22197
......@@ -10,6 +10,7 @@
*.dSYM
*.out
*.new
.vscode
data/*.txt
data/*.ttf
data/*.sfd
......
......@@ -6,8 +6,6 @@ notifications:
include:
- language: julia
julia: 1.1
before_install:
- sudo apt-get install fontforge -y
script:
- make manifest && diff MANIFEST.new MANIFEST
- make check
......
......@@ -10,8 +10,10 @@ project (utf8proc C)
# API version number (defined in utf8proc.h).
# Be sure to also update these in Makefile and MANIFEST!
set(SO_MAJOR 2)
set(SO_MINOR 2)
set(SO_PATCH 0)
set(SO_MINOR 3)
set(SO_PATCH 1)
option(UTF8PROC_INSTALL "Enable installation of utf8proc" On)
add_library (utf8proc
utf8proc.c
......@@ -46,12 +48,14 @@ set_target_properties (utf8proc PROPERTIES
SOVERSION ${SO_MAJOR}
)
install(TARGETS utf8proc
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
if (UTF8PROC_INSTALL)
install(TARGETS utf8proc
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
install(
FILES
"${PROJECT_SOURCE_DIR}/utf8proc.h"
DESTINATION include)
install(
FILES
"${PROJECT_SOURCE_DIR}/utf8proc.h"
DESTINATION include)
endif()
......@@ -7,7 +7,7 @@ whose copyright and license statements are reproduced below, all new
work on the utf8proc library is licensed under the [MIT "expat"
license](http://opensource.org/licenses/MIT):
*Copyright © 2014-2018 by Steven G. Johnson, Jiahao Chen, Tony Kelman, Jonas Fonseca, and other contributors listed in the git history.*
*Copyright © 2014-2019 by Steven G. Johnson, Jiahao Chen, Tony Kelman, Jonas Fonseca, and other contributors listed in the git history.*
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
......
......@@ -2,8 +2,8 @@ include/
include/utf8proc.h
lib/
lib/libutf8proc.a
lib/libutf8proc.so -> libutf8proc.so.2.2.0
lib/libutf8proc.so.2 -> libutf8proc.so.2.2.0
lib/libutf8proc.so.2.2.0
lib/libutf8proc.so -> libutf8proc.so.2.3.1
lib/libutf8proc.so.2 -> libutf8proc.so.2.3.1
lib/libutf8proc.so.2.3.1
lib/pkgconfig/
lib/pkgconfig/libutf8proc.pc
......@@ -13,6 +13,8 @@ PICFLAG = -fPIC
C99FLAG = -std=c99
WCFLAGS = -Wall -pedantic
UCFLAGS = $(CPPFLAGS) $(CFLAGS) $(PICFLAG) $(C99FLAG) $(WCFLAGS) -DUTF8PROC_EXPORTS $(UTF8PROC_DEFINES)
LDFLAG_SHARED = -shared
SOFLAG = -Wl,-soname
# shared-library version MAJOR.MINOR.PATCH ... this may be *different*
# from the utf8proc version number because it indicates ABI compatibility,
......@@ -21,8 +23,8 @@ UCFLAGS = $(CPPFLAGS) $(CFLAGS) $(PICFLAG) $(C99FLAG) $(WCFLAGS) -DUTF8PROC_EXPO
# The API version number is defined in utf8proc.h.
# Be sure to also update these ABI versions in MANIFEST and CMakeLists.txt!
MAJOR=2
MINOR=2
PATCH=0
MINOR=3
PATCH=1
OS := $(shell uname)
ifeq ($(OS),Darwin) # MacOS X
......@@ -79,7 +81,7 @@ libutf8proc.a: utf8proc.o
$(AR) rs libutf8proc.a utf8proc.o
libutf8proc.so.$(MAJOR).$(MINOR).$(PATCH): utf8proc.o
$(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname -Wl,libutf8proc.so.$(MAJOR) utf8proc.o
$(CC) $(LDFLAGS) $(LDFLAG_SHARED) -o $@ $(SOFLAG) -Wl,libutf8proc.so.$(MAJOR) utf8proc.o
chmod a-x $@
libutf8proc.so: libutf8proc.so.$(MAJOR).$(MINOR).$(PATCH)
......
# utf8proc release history #
## Version 2.4 ##
2019-05-10
- Unicode 12.1 support ([#156]).
- New `-DUTF8PROC_INSTALL=No` option for `cmake` builds to disable installation ([#152]).
- Better `make` support for HP-UX ([#154]).
- Fixed incorrect `UTF8PROC_VERSION_MINOR` version number in header and bumped shared-library version.
## Version 2.3 ##
2019-03-30
......@@ -316,52 +328,57 @@ Release of version 1.0.1
2006-06-02: initial release of version 0.1
[#6]: https://github.com/JuliaLang/julia/issues/6
[#13]: https://github.com/JuliaLang/julia/issues/13
[#17]: https://github.com/JuliaLang/julia/issues/17
[#20]: https://github.com/JuliaLang/julia/issues/20
[#22]: https://github.com/JuliaLang/julia/issues/22
[#24]: https://github.com/JuliaLang/julia/issues/24
[#27]: https://github.com/JuliaLang/julia/issues/27
[#28]: https://github.com/JuliaLang/julia/issues/28
[#29]: https://github.com/JuliaLang/julia/issues/29
[#32]: https://github.com/JuliaLang/julia/issues/32
[#35]: https://github.com/JuliaLang/julia/issues/35
[#40]: https://github.com/JuliaLang/julia/issues/40
[#43]: https://github.com/JuliaLang/julia/issues/43
[#45]: https://github.com/JuliaLang/julia/issues/45
[#47]: https://github.com/JuliaLang/julia/issues/47
[#51]: https://github.com/JuliaLang/julia/issues/51
[#55]: https://github.com/JuliaLang/julia/issues/55
[#58]: https://github.com/JuliaLang/julia/issues/58
[#62]: https://github.com/JuliaLang/julia/issues/62
[#66]: https://github.com/JuliaLang/julia/issues/66
[#68]: https://github.com/JuliaLang/julia/issues/68
[#70]: https://github.com/JuliaLang/julia/issues/70
[#77]: https://github.com/JuliaLang/julia/issues/77
[#78]: https://github.com/JuliaLang/julia/issues/78
[#79]: https://github.com/JuliaLang/julia/issues/79
[#80]: https://github.com/JuliaLang/julia/issues/80
[#84]: https://github.com/JuliaLang/julia/issues/84
[#88]: https://github.com/JuliaLang/julia/issues/88
[#89]: https://github.com/JuliaLang/julia/issues/89
[#90]: https://github.com/JuliaLang/julia/issues/90
[#94]: https://github.com/JuliaLang/julia/issues/94
[#99]: https://github.com/JuliaLang/julia/issues/99
[#113]: https://github.com/JuliaLang/julia/issues/113
[#121]: https://github.com/JuliaLang/julia/issues/121
[#123]: https://github.com/JuliaLang/julia/issues/123
[#125]: https://github.com/JuliaLang/julia/issues/125
[#128]: https://github.com/JuliaLang/julia/issues/128
[#132]: https://github.com/JuliaLang/julia/issues/132
[#133]: https://github.com/JuliaLang/julia/issues/133
[#134]: https://github.com/JuliaLang/julia/issues/134
[#135]: https://github.com/JuliaLang/julia/issues/135
[#140]: https://github.com/JuliaLang/julia/issues/140
[#141]: https://github.com/JuliaLang/julia/issues/141
[#142]: https://github.com/JuliaLang/julia/issues/142
[#147]: https://github.com/JuliaLang/julia/issues/147
[#148]: https://github.com/JuliaLang/julia/issues/148
[#149]: https://github.com/JuliaLang/julia/issues/149
[#150]: https://github.com/JuliaLang/julia/issues/150
[#151]: https://github.com/JuliaLang/julia/issues/151
<!--- generated by NEWS-update.jl: -->
[#6]: https://github.com/JuliaStrings/utf8proc/issues/6
[#13]: https://github.com/JuliaStrings/utf8proc/issues/13
[#17]: https://github.com/JuliaStrings/utf8proc/issues/17
[#20]: https://github.com/JuliaStrings/utf8proc/issues/20
[#22]: https://github.com/JuliaStrings/utf8proc/issues/22
[#24]: https://github.com/JuliaStrings/utf8proc/issues/24
[#27]: https://github.com/JuliaStrings/utf8proc/issues/27
[#28]: https://github.com/JuliaStrings/utf8proc/issues/28
[#29]: https://github.com/JuliaStrings/utf8proc/issues/29
[#32]: https://github.com/JuliaStrings/utf8proc/issues/32
[#35]: https://github.com/JuliaStrings/utf8proc/issues/35
[#40]: https://github.com/JuliaStrings/utf8proc/issues/40
[#43]: https://github.com/JuliaStrings/utf8proc/issues/43
[#45]: https://github.com/JuliaStrings/utf8proc/issues/45
[#47]: https://github.com/JuliaStrings/utf8proc/issues/47
[#51]: https://github.com/JuliaStrings/utf8proc/issues/51
[#55]: https://github.com/JuliaStrings/utf8proc/issues/55
[#58]: https://github.com/JuliaStrings/utf8proc/issues/58
[#62]: https://github.com/JuliaStrings/utf8proc/issues/62
[#66]: https://github.com/JuliaStrings/utf8proc/issues/66
[#68]: https://github.com/JuliaStrings/utf8proc/issues/68
[#70]: https://github.com/JuliaStrings/utf8proc/issues/70
[#77]: https://github.com/JuliaStrings/utf8proc/issues/77
[#78]: https://github.com/JuliaStrings/utf8proc/issues/78
[#79]: https://github.com/JuliaStrings/utf8proc/issues/79
[#80]: https://github.com/JuliaStrings/utf8proc/issues/80
[#84]: https://github.com/JuliaStrings/utf8proc/issues/84
[#88]: https://github.com/JuliaStrings/utf8proc/issues/88
[#89]: https://github.com/JuliaStrings/utf8proc/issues/89
[#90]: https://github.com/JuliaStrings/utf8proc/issues/90
[#94]: https://github.com/JuliaStrings/utf8proc/issues/94
[#99]: https://github.com/JuliaStrings/utf8proc/issues/99
[#113]: https://github.com/JuliaStrings/utf8proc/issues/113
[#121]: https://github.com/JuliaStrings/utf8proc/issues/121
[#123]: https://github.com/JuliaStrings/utf8proc/issues/123
[#125]: https://github.com/JuliaStrings/utf8proc/issues/125
[#128]: https://github.com/JuliaStrings/utf8proc/issues/128
[#132]: https://github.com/JuliaStrings/utf8proc/issues/132
[#133]: https://github.com/JuliaStrings/utf8proc/issues/133
[#134]: https://github.com/JuliaStrings/utf8proc/issues/134
[#135]: https://github.com/JuliaStrings/utf8proc/issues/135
[#140]: https://github.com/JuliaStrings/utf8proc/issues/140
[#141]: https://github.com/JuliaStrings/utf8proc/issues/141
[#142]: https://github.com/JuliaStrings/utf8proc/issues/142
[#147]: https://github.com/JuliaStrings/utf8proc/issues/147
[#148]: https://github.com/JuliaStrings/utf8proc/issues/148
[#149]: https://github.com/JuliaStrings/utf8proc/issues/149
[#150]: https://github.com/JuliaStrings/utf8proc/issues/150
[#151]: https://github.com/JuliaStrings/utf8proc/issues/151
[#152]: https://github.com/JuliaStrings/utf8proc/issues/152
[#154]: https://github.com/JuliaStrings/utf8proc/issues/154
[#156]: https://github.com/JuliaStrings/utf8proc/issues/156
......@@ -31,7 +31,28 @@ the included `LICENSE.md` file for more detailed information.
## Quick Start
For compilation of the C library run `make`.
Typical users should download a [utf8proc release](http://juliastrings.github.io/utf8proc/releases/) rather than cloning directly from github.
For compilation of the C library, run `make`. You can also install the library and header file with `make install` (by default into `/usr/local/lib` and `/usr/local/bin`, but this can be changed by `make prefix=/some/dir`). `make check` runs some tests, and `make clean` deletes all of the generated files.
Alternatively, you can compile with `cmake`, e.g. by
```sh
mkdir build
cd build
cmake ..
make
```
### Using other compilers
The included `Makefile` supports GNU/Linux flavors and MacOS with `gcc`-like compilers; Windows users will typically use `cmake`.
For other Unix-like systems and other compilers, you may need to pass modified settings to `make` in order to use the correct compilation flags for building shared libraries on your system.
For HP-UX with HP's `aCC` compiler and GNU Make (installed as `gmake`), you can compile with
```
gmake CC=/opt/aCC/bin/aCC CFLAGS="+O2" PICFLAG="+z" C99FLAG="-Ae" WCFLAGS="+w" LDFLAG_SHARED="-b" SOFLAG="-Wl,+h"
```
To run `gmake install` you will need GNU coreutils for the `install` command, and you may want to pass `prefix=/opt libdir=/opt/lib/hpux32` or similar to change the installation location.
## General Information
......@@ -39,7 +60,7 @@ The C library is found in this directory after successful compilation
and is named `libutf8proc.a` (for the static library) and
`libutf8proc.so` (for the dynamic library).
The Unicode version supported is 12.0.0.
The Unicode version supported is 12.1.0.
For Unicode normalizations, the following options are used:
......
......@@ -22,7 +22,10 @@ CharWidths.txt: charwidths.jl EastAsianWidth.txt
$(JULIA) charwidths.jl > $@
# Unicode data version (must also update utf8proc_unicode_version function)
UNICODE_VERSION=12.0.0
UNICODE_VERSION=12.1.0
# Unicode emoji version (managed separately from UNICODE_VERSION)
UNICODE_EMOJI_VERSION=12.0
UnicodeData.txt:
$(CURL) $(CURLFLAGS) -o $@ -O http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
......@@ -49,7 +52,7 @@ GraphemeBreakTest.txt:
$(CURL) $(CURLFLAGS) $(URLCACHE)http://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakTest.txt | $(PERL) -pe 's,÷,/,g;s,×,+,g' > $@
emoji-data.txt:
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://unicode.org/Public/emoji/`echo $(UNICODE_VERSION) | cut -d. -f1-2`/emoji-data.txt
$(CURL) $(CURLFLAGS) -o $@ -O $(URLCACHE)http://unicode.org/Public/emoji/$(UNICODE_EMOJI_VERSION)/emoji-data.txt
clean:
rm -f UnicodeData.txt EastAsianWidth.txt GraphemeBreakProperty.txt DerivedCoreProperties.txt CompositionExclusions.txt CaseFolding.txt NormalizationTest.txt GraphemeBreakTest.txt CharWidths.txt emoji-data.txt
......
......@@ -101,7 +101,7 @@ UTF8PROC_DLLEXPORT const char *utf8proc_version(void) {
}
UTF8PROC_DLLEXPORT const char *utf8proc_unicode_version(void) {
return "12.0.0";
return "12.1.0";
}
UTF8PROC_DLLEXPORT const char *utf8proc_errmsg(utf8proc_ssize_t errcode) {
......
......@@ -71,7 +71,7 @@
/** The MAJOR version number (increased when backwards API compatibility is broken). */
#define UTF8PROC_VERSION_MAJOR 2
/** The MINOR version number (increased when new functionality is added in a backwards-compatible manner). */
#define UTF8PROC_VERSION_MINOR 2
#define UTF8PROC_VERSION_MINOR 4
/** The PATCH version (increased for fixes that do not change the API). */
#define UTF8PROC_VERSION_PATCH 0
/** @} */
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment