summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules7
-rw-r--r--.idea/copyright/ics_openvpn_gpl.xml7
-rw-r--r--.travis.yml24
-rw-r--r--ISSUE_TEMPLATE.md12
-rw-r--r--README.md15
-rw-r--r--build.gradle5
-rw-r--r--doc/README.txt15
-rw-r--r--gradle/wrapper/gradle-wrapper.properties6
m---------main/breakpad0
-rw-r--r--main/build.gradle70
-rw-r--r--main/jni/Android.mk49
-rw-r--r--main/jni/Application.mk17
-rw-r--r--main/jni/jbcrypto.cpp3
-rw-r--r--main/jni/scan_ifs.c8
-rw-r--r--main/lzo/B/dos16/bc.bat39
-rw-r--r--main/lzo/B/dos16/bc.rsp67
-rw-r--r--main/lzo/B/dos16/bc_286.bat42
-rw-r--r--main/lzo/B/dos16/bc_pp.bat42
-rw-r--r--main/lzo/B/dos16/dm.bat39
-rw-r--r--main/lzo/B/dos16/mc.bat52
-rw-r--r--main/lzo/B/dos16/mc_qc.bat52
-rw-r--r--main/lzo/B/dos16/qc.bat40
-rw-r--r--main/lzo/B/dos16/sc.bat53
-rw-r--r--main/lzo/B/dos16/tc.bat39
-rw-r--r--main/lzo/B/dos16/vc.bat39
-rw-r--r--main/lzo/B/dos16/vc_qc.bat39
-rw-r--r--main/lzo/B/dos16/wc.bat39
-rw-r--r--main/lzo/B/dos16/wc.rsp67
-rw-r--r--main/lzo/B/dos32/bc_pp.bat2
-rw-r--r--main/lzo/B/dos32/dj2.bat2
-rw-r--r--main/lzo/B/dos32/dm.bat2
-rw-r--r--main/lzo/B/dos32/emx.bat2
-rw-r--r--main/lzo/B/dos32/highc.bat2
-rw-r--r--main/lzo/B/dos32/ndp.bat2
-rw-r--r--main/lzo/B/dos32/sc.bat2
-rw-r--r--main/lzo/B/dos32/wc.bat2
-rw-r--r--main/lzo/B/dos32/zc.bat2
-rw-r--r--main/lzo/B/generic/Makefile2
-rwxr-xr-xmain/lzo/B/generic/build.sh2
-rwxr-xr-xmain/lzo/B/generic/clean.sh2
-rw-r--r--main/lzo/B/os2/emx.bat2
-rw-r--r--main/lzo/B/os2/wc.bat2
-rw-r--r--main/lzo/B/os2/zc.bat2
-rw-r--r--main/lzo/B/os2_16/mc.bat43
-rw-r--r--main/lzo/B/os2_16/wc.bat42
-rw-r--r--main/lzo/B/win16/bc.bat42
-rw-r--r--main/lzo/B/win16/dm.bat43
-rw-r--r--main/lzo/B/win16/mc.bat56
-rw-r--r--main/lzo/B/win16/sc.bat53
-rw-r--r--main/lzo/B/win16/vc.bat43
-rw-r--r--main/lzo/B/win16/wc.bat42
-rw-r--r--main/lzo/B/win32/bc.bat2
-rw-r--r--main/lzo/B/win32/cygwin.bat2
-rw-r--r--main/lzo/B/win32/dm.bat2
-rw-r--r--main/lzo/B/win32/ic.bat2
-rw-r--r--main/lzo/B/win32/lccwin32.bat2
-rw-r--r--main/lzo/B/win32/mingw.bat2
-rw-r--r--main/lzo/B/win32/mwerks.bat2
-rw-r--r--main/lzo/B/win32/pellesc.bat2
-rw-r--r--main/lzo/B/win32/pgi.bat2
-rw-r--r--main/lzo/B/win32/pw32.bat2
-rw-r--r--main/lzo/B/win32/rsxnt.bat2
-rw-r--r--main/lzo/B/win32/sc.bat2
-rw-r--r--main/lzo/B/win32/vc.bat2
-rw-r--r--main/lzo/B/win32/vc_dll.bat2
-rw-r--r--main/lzo/B/win32/vc_dll.def12
-rw-r--r--main/lzo/B/win32/wc.bat2
-rw-r--r--main/lzo/B/win64/ic.bat2
-rw-r--r--main/lzo/B/win64/ic_dll.bat2
-rw-r--r--main/lzo/B/win64/vc.bat2
-rw-r--r--main/lzo/B/win64/vc_dll.bat2
-rw-r--r--main/lzo/CMakeLists.txt210
-rw-r--r--main/lzo/Makefile679
-rw-r--r--main/lzo/Makefile.am32
-rw-r--r--main/lzo/Makefile.in113
-rw-r--r--main/lzo/NEWS12
-rw-r--r--main/lzo/README.ANDROID3
-rw-r--r--main/lzo/aclocal.m4215
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1c_s2.obin707 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1f_f2.obin685 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1x_f2.obin941 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1x_s2.obin979 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1y_f2.obin941 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/coff32/lzo1y_s2.obin979 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1c_s1.obin768 -> 730 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1c_s2.obin954 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1f_f1.obin810 -> 767 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1f_f2.obin932 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1x_f1.obin938 -> 895 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1x_f2.obin1188 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1x_s1.obin960 -> 922 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1x_s2.obin1226 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1y_f1.obin938 -> 895 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1y_f2.obin1188 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1y_s1.obin960 -> 922 bytes
-rw-r--r--main/lzo/asm/i386/obj/elf32/lzo1y_s2.obin1226 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1c_s2.objbin601 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1f_f2.objbin579 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1x_f2.objbin835 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1x_s2.objbin873 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1y_f2.objbin835 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/omf32/lzo1y_s2.objbin873 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1c_s1.objbin481 -> 442 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1c_s2.objbin635 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1f_f1.objbin491 -> 447 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1f_f2.objbin613 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1x_f1.objbin619 -> 575 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1x_f2.objbin869 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1x_s1.objbin673 -> 634 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1x_s2.objbin907 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1y_f1.objbin619 -> 575 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1y_f2.objbin869 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1y_s1.objbin673 -> 634 bytes
-rw-r--r--main/lzo/asm/i386/obj/win32/lzo1y_s2.objbin907 -> 0 bytes
-rw-r--r--main/lzo/asm/i386/src/enter.ash2
-rw-r--r--main/lzo/asm/i386/src/leave.ash2
-rw-r--r--main/lzo/asm/i386/src/lzo1c_d.ash2
-rw-r--r--main/lzo/asm/i386/src/lzo1c_s1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1c_s2.S68
-rw-r--r--main/lzo/asm/i386/src/lzo1f_d.ash2
-rw-r--r--main/lzo/asm/i386/src/lzo1f_f1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1f_f2.S68
-rw-r--r--main/lzo/asm/i386/src/lzo1x_d.ash2
-rw-r--r--main/lzo/asm/i386/src/lzo1x_f1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1x_f2.S70
-rw-r--r--main/lzo/asm/i386/src/lzo1x_s1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1x_s2.S68
-rw-r--r--main/lzo/asm/i386/src/lzo1y_f1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1y_f2.S72
-rw-r--r--main/lzo/asm/i386/src/lzo1y_s1.S2
-rw-r--r--main/lzo/asm/i386/src/lzo1y_s2.S70
-rw-r--r--main/lzo/asm/i386/src/lzo_asm.h2
-rw-r--r--main/lzo/asm/i386/src_gas/all/asm_all.S36
-rw-r--r--main/lzo/asm/i386/src_gas/asminit.def36
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1c_s1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1c_s2.S98
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1f_f1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1f_f2.S96
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1x_f1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1x_f2.S112
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1x_s1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1x_s2.S115
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1y_f1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1y_f2.S112
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1y_s1.S2
-rw-r--r--main/lzo/asm/i386/src_gas/lzo1y_s2.S115
-rw-r--r--main/lzo/asm/i386/src_masm/all/asm_all.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/asminit.def2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1c_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1c_s2.asm77
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1f_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1f_f2.asm75
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1x_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1x_f2.asm91
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1x_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1x_s2.asm94
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1y_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1y_f2.asm91
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1y_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_masm/lzo1y_s2.asm94
-rw-r--r--main/lzo/asm/i386/src_nasm/all/asm_all.asm12
-rw-r--r--main/lzo/asm/i386/src_nasm/asminit.def12
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1c_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1c_s2.asm92
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1f_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1f_f2.asm90
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1x_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1x_f2.asm106
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1x_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1x_s2.asm109
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1y_f1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1y_f2.asm106
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1y_s1.asm2
-rw-r--r--main/lzo/asm/i386/src_nasm/lzo1y_s2.asm109
-rwxr-xr-xmain/lzo/autoconf/ar-lib2
-rwxr-xr-xmain/lzo/autoconf/compile9
-rwxr-xr-xmain/lzo/autoconf/config.guess168
-rwxr-xr-xmain/lzo/autoconf/config.rpath2
-rwxr-xr-xmain/lzo/autoconf/config.sub62
-rwxr-xr-xmain/lzo/autoconf/depcomp6
-rwxr-xr-xmain/lzo/autoconf/install-sh4
-rw-r--r--main/lzo/autoconf/local.m448
-rwxr-xr-xmain/lzo/autoconf/mdate-sh6
-rwxr-xr-xmain/lzo/autoconf/missing6
-rwxr-xr-xmain/lzo/autoconf/mkinstalldirs4
-rwxr-xr-xmain/lzo/autoconf/py-compile6
-rwxr-xr-xmain/lzo/autoconf/ylwrap6
-rw-r--r--main/lzo/config.h365
-rw-r--r--main/lzo/config.log3482
-rwxr-xr-xmain/lzo/config.status1475
-rwxr-xr-xmain/lzo/configure52
-rw-r--r--main/lzo/configure.ac11
-rw-r--r--main/lzo/doc/LZO.TXT6
-rw-r--r--main/lzo/examples/.deps/dict.Po1
-rw-r--r--main/lzo/examples/.deps/lzopack.Po1
-rw-r--r--main/lzo/examples/.deps/overlap.Po1
-rw-r--r--main/lzo/examples/.deps/precomp.Po1
-rw-r--r--main/lzo/examples/.deps/precomp2.Po1
-rw-r--r--main/lzo/examples/.deps/simple.Po1
-rw-r--r--main/lzo/examples/Makefile491
-rw-r--r--main/lzo/examples/Makefile.am21
-rw-r--r--main/lzo/examples/Makefile.in491
-rw-r--r--main/lzo/examples/dict.c6
-rw-r--r--main/lzo/examples/lzopack.c4
-rw-r--r--main/lzo/examples/overlap.c4
-rw-r--r--main/lzo/examples/portab.h7
-rw-r--r--main/lzo/examples/portab_a.h2
-rw-r--r--main/lzo/examples/precomp.c4
-rw-r--r--main/lzo/examples/precomp2.c4
-rw-r--r--main/lzo/examples/simple.c4
-rw-r--r--main/lzo/include/Makefile487
-rw-r--r--main/lzo/include/Makefile.am6
-rw-r--r--main/lzo/include/Makefile.in487
-rw-r--r--main/lzo/include/lzo/Makefile412
-rw-r--r--main/lzo/include/lzo/Makefile.am10
-rw-r--r--main/lzo/include/lzo/Makefile.in412
-rw-r--r--main/lzo/include/lzo/lzo1.h2
-rw-r--r--main/lzo/include/lzo/lzo1a.h2
-rw-r--r--main/lzo/include/lzo/lzo1b.h2
-rw-r--r--main/lzo/include/lzo/lzo1c.h2
-rw-r--r--main/lzo/include/lzo/lzo1f.h2
-rw-r--r--main/lzo/include/lzo/lzo1x.h2
-rw-r--r--main/lzo/include/lzo/lzo1y.h2
-rw-r--r--main/lzo/include/lzo/lzo1z.h2
-rw-r--r--main/lzo/include/lzo/lzo2a.h2
-rw-r--r--main/lzo/include/lzo/lzo_asm.h2
-rw-r--r--main/lzo/include/lzo/lzoconf.h8
-rw-r--r--main/lzo/include/lzo/lzodefs.h206
-rw-r--r--main/lzo/include/lzo/lzoutil.h2
-rwxr-xr-xmain/lzo/libtool7520
-rw-r--r--main/lzo/lzo2.pc.cmakein21
-rw-r--r--main/lzo/lzo2.pc.in21
-rw-r--r--main/lzo/lzotest/.deps/lzotest.Po1
-rw-r--r--main/lzo/lzotest/Makefile441
-rw-r--r--main/lzo/lzotest/Makefile.am15
-rw-r--r--main/lzo/lzotest/Makefile.in441
-rw-r--r--main/lzo/lzotest/asm.h2
-rw-r--r--main/lzo/lzotest/db.h2
-rw-r--r--main/lzo/lzotest/lzotest.c6
-rw-r--r--main/lzo/lzotest/mygetopt.ch698
-rw-r--r--main/lzo/lzotest/mygetopt.h102
-rw-r--r--main/lzo/lzotest/wrap.h4
-rw-r--r--main/lzo/lzotest/wrapmisc.h2
-rw-r--r--main/lzo/minilzo/.deps/minilzo.Po1
-rw-r--r--main/lzo/minilzo/.deps/testmini.Po1
-rw-r--r--main/lzo/minilzo/Makefile442
-rw-r--r--main/lzo/minilzo/Makefile.am14
-rw-r--r--main/lzo/minilzo/Makefile.in442
-rw-r--r--main/lzo/minilzo/Makefile.minilzo2
-rw-r--r--main/lzo/minilzo/README.LZO6
-rw-r--r--main/lzo/minilzo/minilzo.c212
-rw-r--r--main/lzo/minilzo/minilzo.h4
-rw-r--r--main/lzo/minilzo/testmini.c4
-rw-r--r--main/lzo/src/.deps/lzo1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1_99.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1a.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1a_99.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_3.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_4.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_5.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_6.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_7.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_8.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_9.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_99.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_cc.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_rr.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1b_xx.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_3.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_4.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_5.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_6.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_7.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_8.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_9.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_99.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_cc.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_rr.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1c_xx.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1f_1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1f_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1f_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1f_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_1k.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_1l.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_1o.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_d3.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1x_o.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_d3.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1y_o.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1z_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1z_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1z_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo1z_d3.Plo1
-rw-r--r--main/lzo/src/.deps/lzo2a_9x.Plo1
-rw-r--r--main/lzo/src/.deps/lzo2a_d1.Plo1
-rw-r--r--main/lzo/src/.deps/lzo2a_d2.Plo1
-rw-r--r--main/lzo/src/.deps/lzo_crc.Plo1
-rw-r--r--main/lzo/src/.deps/lzo_init.Plo1
-rw-r--r--main/lzo/src/.deps/lzo_ptr.Plo1
-rw-r--r--main/lzo/src/.deps/lzo_str.Plo1
-rw-r--r--main/lzo/src/.deps/lzo_util.Plo1
-rw-r--r--main/lzo/src/Makefile600
-rw-r--r--main/lzo/src/Makefile.am68
-rw-r--r--main/lzo/src/Makefile.in600
-rw-r--r--main/lzo/src/compr1b.h2
-rw-r--r--main/lzo/src/compr1c.h2
-rw-r--r--main/lzo/src/config1.h2
-rw-r--r--main/lzo/src/config1a.h2
-rw-r--r--main/lzo/src/config1b.h2
-rw-r--r--main/lzo/src/config1c.h2
-rw-r--r--main/lzo/src/config1f.h2
-rw-r--r--main/lzo/src/config1x.h2
-rw-r--r--main/lzo/src/config1y.h2
-rw-r--r--main/lzo/src/config1z.h2
-rw-r--r--main/lzo/src/config2a.h2
-rw-r--r--main/lzo/src/lzo1.c6
-rw-r--r--main/lzo/src/lzo1_99.c2
-rw-r--r--main/lzo/src/lzo1_cm.ch2
-rw-r--r--main/lzo/src/lzo1_d.ch2
-rw-r--r--main/lzo/src/lzo1a.c6
-rw-r--r--main/lzo/src/lzo1a_99.c2
-rw-r--r--main/lzo/src/lzo1a_cm.ch6
-rw-r--r--main/lzo/src/lzo1a_cr.ch2
-rw-r--r--main/lzo/src/lzo1a_de.h2
-rw-r--r--main/lzo/src/lzo1b_1.c2
-rw-r--r--main/lzo/src/lzo1b_2.c2
-rw-r--r--main/lzo/src/lzo1b_3.c2
-rw-r--r--main/lzo/src/lzo1b_4.c2
-rw-r--r--main/lzo/src/lzo1b_5.c2
-rw-r--r--main/lzo/src/lzo1b_6.c2
-rw-r--r--main/lzo/src/lzo1b_7.c2
-rw-r--r--main/lzo/src/lzo1b_8.c2
-rw-r--r--main/lzo/src/lzo1b_9.c2
-rw-r--r--main/lzo/src/lzo1b_99.c2
-rw-r--r--main/lzo/src/lzo1b_9x.c2
-rw-r--r--main/lzo/src/lzo1b_c.ch2
-rw-r--r--main/lzo/src/lzo1b_cc.c2
-rw-r--r--main/lzo/src/lzo1b_cc.h2
-rw-r--r--main/lzo/src/lzo1b_cm.ch6
-rw-r--r--main/lzo/src/lzo1b_cr.ch2
-rw-r--r--main/lzo/src/lzo1b_d.ch2
-rw-r--r--main/lzo/src/lzo1b_d1.c2
-rw-r--r--main/lzo/src/lzo1b_d2.c2
-rw-r--r--main/lzo/src/lzo1b_de.h2
-rw-r--r--main/lzo/src/lzo1b_r.ch2
-rw-r--r--main/lzo/src/lzo1b_rr.c2
-rw-r--r--main/lzo/src/lzo1b_sm.ch6
-rw-r--r--main/lzo/src/lzo1b_tm.ch2
-rw-r--r--main/lzo/src/lzo1b_xx.c2
-rw-r--r--main/lzo/src/lzo1c_1.c2
-rw-r--r--main/lzo/src/lzo1c_2.c2
-rw-r--r--main/lzo/src/lzo1c_3.c2
-rw-r--r--main/lzo/src/lzo1c_4.c2
-rw-r--r--main/lzo/src/lzo1c_5.c2
-rw-r--r--main/lzo/src/lzo1c_6.c2
-rw-r--r--main/lzo/src/lzo1c_7.c2
-rw-r--r--main/lzo/src/lzo1c_8.c2
-rw-r--r--main/lzo/src/lzo1c_9.c2
-rw-r--r--main/lzo/src/lzo1c_99.c2
-rw-r--r--main/lzo/src/lzo1c_9x.c2
-rw-r--r--main/lzo/src/lzo1c_cc.c2
-rw-r--r--main/lzo/src/lzo1c_cc.h2
-rw-r--r--main/lzo/src/lzo1c_d1.c2
-rw-r--r--main/lzo/src/lzo1c_d2.c2
-rw-r--r--main/lzo/src/lzo1c_rr.c2
-rw-r--r--main/lzo/src/lzo1c_xx.c2
-rw-r--r--main/lzo/src/lzo1f_1.c4
-rw-r--r--main/lzo/src/lzo1f_9x.c2
-rw-r--r--main/lzo/src/lzo1f_d.ch2
-rw-r--r--main/lzo/src/lzo1f_d1.c2
-rw-r--r--main/lzo/src/lzo1f_d2.c2
-rw-r--r--main/lzo/src/lzo1x_1.c2
-rw-r--r--main/lzo/src/lzo1x_1k.c2
-rw-r--r--main/lzo/src/lzo1x_1l.c2
-rw-r--r--main/lzo/src/lzo1x_1o.c2
-rw-r--r--main/lzo/src/lzo1x_9x.c2
-rw-r--r--main/lzo/src/lzo1x_c.ch2
-rw-r--r--main/lzo/src/lzo1x_d.ch2
-rw-r--r--main/lzo/src/lzo1x_d1.c2
-rw-r--r--main/lzo/src/lzo1x_d2.c2
-rw-r--r--main/lzo/src/lzo1x_d3.c2
-rw-r--r--main/lzo/src/lzo1x_o.c2
-rw-r--r--main/lzo/src/lzo1x_oo.ch8
-rw-r--r--main/lzo/src/lzo1y_1.c2
-rw-r--r--main/lzo/src/lzo1y_9x.c2
-rw-r--r--main/lzo/src/lzo1y_d1.c2
-rw-r--r--main/lzo/src/lzo1y_d2.c2
-rw-r--r--main/lzo/src/lzo1y_d3.c2
-rw-r--r--main/lzo/src/lzo1y_o.c2
-rw-r--r--main/lzo/src/lzo1z_9x.c2
-rw-r--r--main/lzo/src/lzo1z_d1.c2
-rw-r--r--main/lzo/src/lzo1z_d2.c2
-rw-r--r--main/lzo/src/lzo1z_d3.c2
-rw-r--r--main/lzo/src/lzo2a_9x.c2
-rw-r--r--main/lzo/src/lzo2a_d.ch2
-rw-r--r--main/lzo/src/lzo2a_d1.c2
-rw-r--r--main/lzo/src/lzo2a_d2.c2
-rw-r--r--main/lzo/src/lzo_conf.h4
-rw-r--r--main/lzo/src/lzo_crc.c4
-rw-r--r--main/lzo/src/lzo_dict.h2
-rw-r--r--main/lzo/src/lzo_dll.ch2
-rw-r--r--main/lzo/src/lzo_func.ch122
-rw-r--r--main/lzo/src/lzo_func.h2
-rw-r--r--main/lzo/src/lzo_init.c2
-rw-r--r--main/lzo/src/lzo_mchw.ch2
-rw-r--r--main/lzo/src/lzo_ptr.c2
-rw-r--r--main/lzo/src/lzo_ptr.h2
-rw-r--r--main/lzo/src/lzo_str.c2
-rw-r--r--main/lzo/src/lzo_supp.h69
-rw-r--r--main/lzo/src/lzo_swd.ch5
-rw-r--r--main/lzo/src/lzo_util.c6
-rw-r--r--main/lzo/src/miniacc.h6922
-rw-r--r--main/lzo/src/stats1a.h2
-rw-r--r--main/lzo/src/stats1b.h2
-rw-r--r--main/lzo/src/stats1c.h2
-rw-r--r--main/lzo/stamp-h11
-rw-r--r--main/lzo/tests/.deps/align.Po1
-rw-r--r--main/lzo/tests/.deps/chksum.Po1
-rw-r--r--main/lzo/tests/.deps/promote.Po1
-rw-r--r--main/lzo/tests/.deps/sizes.Po1
-rw-r--r--main/lzo/tests/Makefile468
-rw-r--r--main/lzo/tests/Makefile.am17
-rw-r--r--main/lzo/tests/Makefile.in468
-rw-r--r--main/lzo/tests/align.c2
-rw-r--r--main/lzo/tests/chksum.c2
-rw-r--r--main/lzo/tests/promote.c2
-rw-r--r--main/lzo/tests/sizes.c2
-rw-r--r--main/lzo/util/check.sh2
-rw-r--r--main/lzo/util/checkasm.sh2
-rw-r--r--main/lzo/util/notime.pl2
-rw-r--r--main/lzo/util/overlap.sh2
-rw-r--r--main/lzo/util/shortf.pl2
-rw-r--r--main/lzo/util/table.pl2
-rw-r--r--main/lzo/util/uncompr.pl2
-rw-r--r--main/misc/build-native.bat76
-rwxr-xr-xmain/misc/build-native.sh2
-rwxr-xr-xmain/misc/dump_syms.sh (renamed from misc/dump_syms.sh)5
-rwxr-xr-xmain/misc/fetchtranslations.sh2
m---------main/openssl0
m---------main/openvpn0
-rw-r--r--main/ovpn3/Android.mk15
-rw-r--r--main/ovpn3/boostsrc/error_code.cpp430
-rw-r--r--main/src/main/AndroidManifest.xml45
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl10
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl4
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/ConnectionStatus.aidl3
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/IOpenVPNServiceInternal.aidl23
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/IServiceStatus.aidl36
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/IStatusCallbacks.aidl24
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/LogItem.aidl3
-rw-r--r--main/src/main/aidl/de/blinkt/openvpn/core/TrafficHistory.aidl4
-rw-r--r--main/src/main/java/android/support/v4n/view/ViewPager.java2
-rw-r--r--main/src/main/java/de/blinkt/openvpn/LaunchVPN.java78
-rw-r--r--main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java10
-rw-r--r--main/src/main/java/de/blinkt/openvpn/OpenVPNTileService.java151
-rw-r--r--main/src/main/java/de/blinkt/openvpn/VpnProfile.java150
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java187
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java2
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java52
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java11
-rw-r--r--main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java40
-rw-r--r--main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java1
-rw-r--r--main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java19
-rw-r--r--main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java34
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java4
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java89
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/Connection.java23
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ConnectionStatus.java47
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java17
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java61
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/LogFileHandler.java181
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/LogItem.java375
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java94
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java2
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java320
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java232
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java34
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java72
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/PasswordCache.java61
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/Preferences.java31
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java114
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/StatusListener.java109
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/TrafficHistory.java243
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java47
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java328
-rw-r--r--main/src/main/java/de/blinkt/openvpn/core/X509Utils.java9
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java9
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java192
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java5
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/FaqViewAdapter.java3
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java55
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java54
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/GraphFragment.java400
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java92
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java17
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java10
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java4
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java53
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java22
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/Utils.java12
-rw-r--r--main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java234
-rw-r--r--main/src/main/java/de/blinkt/openvpn/views/ScreenSlidePagerAdapter.java2
-rw-r--r--main/src/main/res/drawable-hdpi/ic_quick.pngbin0 -> 1236 bytes
-rw-r--r--main/src/main/res/drawable-hdpi/ic_sort_white_24dp.pngbin0 -> 115 bytes
-rw-r--r--main/src/main/res/drawable-hdpi/ic_stat_vpn.pngbin682 -> 3799 bytes
-rw-r--r--main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.pngbin816 -> 4124 bytes
-rw-r--r--main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.pngbin637 -> 4182 bytes
-rw-r--r--main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.pngbin863 -> 4250 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_quick.pngbin0 -> 973 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_sort_white_24dp.pngbin0 -> 90 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_stat_vpn.pngbin468 -> 3436 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.pngbin545 -> 3579 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.pngbin451 -> 3585 bytes
-rw-r--r--main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.pngbin609 -> 3627 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_quick.pngbin0 -> 1671 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_sort_white_24dp.pngbin0 -> 101 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_stat_vpn.pngbin781 -> 4136 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.pngbin1033 -> 4753 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.pngbin834 -> 4810 bytes
-rw-r--r--main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.pngbin1151 -> 4961 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_quick.pngbin0 -> 2375 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_sort_white_24dp.pngbin0 -> 103 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_stat_vpn.pngbin0 -> 3987 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.pngbin0 -> 4463 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.pngbin0 -> 4534 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.pngbin0 -> 4674 bytes
-rw-r--r--main/src/main/res/drawable-xxhdpi/icon.pngbin14248 -> 0 bytes
-rw-r--r--main/src/main/res/drawable-xxxhdpi/ic_sort_white_24dp.pngbin0 -> 107 bytes
-rw-r--r--main/src/main/res/drawable/ic_shortcut_cancel.xml21
-rw-r--r--main/src/main/res/drawable/ic_shortcut_vpn_key.xml21
-rw-r--r--main/src/main/res/layout/about.xml7
-rw-r--r--main/src/main/res/layout/basic_settings.xml23
-rw-r--r--main/src/main/res/layout/config_converter.xml4
-rw-r--r--main/src/main/res/layout/graph.xml33
-rw-r--r--main/src/main/res/layout/graph_item.xml30
-rw-r--r--main/src/main/res/layout/launchvpn.xml15
-rw-r--r--main/src/main/res/layout/server_card.xml4
-rw-r--r--main/src/main/res/layout/vpnstatus.xml3
-rwxr-xr-xmain/src/main/res/values-ca/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-ca/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-ca/strings.xml3
-rwxr-xr-xmain/src/main/res/values-cs/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-cs/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-cs/strings.xml6
-rwxr-xr-xmain/src/main/res/values-de/arrays.xml15
-rwxr-xr-xmain/src/main/res/values-de/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-de/strings.xml63
-rwxr-xr-xmain/src/main/res/values-es/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-es/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-es/strings.xml35
-rwxr-xr-xmain/src/main/res/values-et/arrays.xml15
-rwxr-xr-xmain/src/main/res/values-et/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-et/strings.xml41
-rwxr-xr-xmain/src/main/res/values-fr/arrays.xml12
-rwxr-xr-xmain/src/main/res/values-fr/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-fr/strings.xml345
-rwxr-xr-xmain/src/main/res/values-hu/arrays.xml12
-rwxr-xr-xmain/src/main/res/values-hu/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-hu/strings.xml192
-rwxr-xr-xmain/src/main/res/values-in/arrays.xml18
-rwxr-xr-xmain/src/main/res/values-in/plurals.xml10
-rwxr-xr-xmain/src/main/res/values-in/strings.xml17
-rwxr-xr-xmain/src/main/res/values-it/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-it/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-it/strings.xml6
-rwxr-xr-xmain/src/main/res/values-ja/arrays.xml22
-rwxr-xr-xmain/src/main/res/values-ja/plurals.xml16
-rwxr-xr-xmain/src/main/res/values-ja/strings.xml191
-rwxr-xr-xmain/src/main/res/values-ko/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-ko/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-ko/strings.xml9
-rwxr-xr-xmain/src/main/res/values-nl/arrays.xml12
-rwxr-xr-xmain/src/main/res/values-nl/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-nl/strings.xml113
-rwxr-xr-xmain/src/main/res/values-no/arrays.xml15
-rwxr-xr-xmain/src/main/res/values-no/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-no/strings.xml80
-rwxr-xr-xmain/src/main/res/values-pl/arrays.xml10
-rwxr-xr-xmain/src/main/res/values-pl/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-pl/strings.xml52
-rwxr-xr-xmain/src/main/res/values-pt/arrays.xml15
-rwxr-xr-xmain/src/main/res/values-pt/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-pt/strings.xml32
-rwxr-xr-xmain/src/main/res/values-ro/arrays.xml17
-rwxr-xr-xmain/src/main/res/values-ro/plurals.xml24
-rwxr-xr-xmain/src/main/res/values-ro/strings.xml182
-rwxr-xr-xmain/src/main/res/values-ru/arrays.xml14
-rwxr-xr-xmain/src/main/res/values-ru/plurals.xml24
-rwxr-xr-xmain/src/main/res/values-ru/strings.xml246
-rwxr-xr-xmain/src/main/res/values-sl/arrays.xml15
-rwxr-xr-xmain/src/main/res/values-sl/plurals.xml28
-rwxr-xr-xmain/src/main/res/values-sl/strings.xml53
-rwxr-xr-xmain/src/main/res/values-sv/arrays.xml14
-rwxr-xr-xmain/src/main/res/values-sv/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-sv/strings.xml136
-rwxr-xr-xmain/src/main/res/values-tr/arrays.xml14
-rwxr-xr-xmain/src/main/res/values-tr/plurals.xml20
-rwxr-xr-xmain/src/main/res/values-tr/strings.xml63
-rwxr-xr-xmain/src/main/res/values-uk/arrays.xml9
-rwxr-xr-xmain/src/main/res/values-uk/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-uk/strings.xml43
-rw-r--r--main/src/main/res/values-v21/refs.xml28
-rwxr-xr-xmain/src/main/res/values-vi/arrays.xml14
-rwxr-xr-xmain/src/main/res/values-vi/plurals.xml16
-rwxr-xr-xmain/src/main/res/values-vi/strings.xml42
-rwxr-xr-xmain/src/main/res/values-zh-rCN/arrays.xml11
-rwxr-xr-xmain/src/main/res/values-zh-rCN/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-zh-rCN/strings.xml195
-rwxr-xr-xmain/src/main/res/values-zh-rTW/arrays.xml14
-rwxr-xr-xmain/src/main/res/values-zh-rTW/plurals.xml3
-rwxr-xr-xmain/src/main/res/values-zh-rTW/strings.xml371
-rw-r--r--main/src/main/res/values/arrays.xml6
-rw-r--r--main/src/main/res/values/colours.xml3
-rw-r--r--main/src/main/res/values/plurals.xml19
-rw-r--r--main/src/main/res/values/refs.xml29
-rwxr-xr-xmain/src/main/res/values/strings.xml65
-rw-r--r--main/src/main/res/values/untranslatable.xml3
-rw-r--r--main/src/main/res/xml/general_settings.xml10
-rw-r--r--main/src/main/res/xml/vpn_authentification.xml8
-rw-r--r--main/src/main/res/xml/vpn_obscure.xml38
-rw-r--r--main/src/ovpn3/java/de/blinkt/openvpn/core/OpenVPNThreadv3.java98
-rw-r--r--main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.java37
-rw-r--r--main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java38
-rw-r--r--main/src/test/java/de/blinkt/openvpn/core/TestLogFileHandler.java124
-rw-r--r--misc/ic_quick.ai730
-rw-r--r--misc/ignore_rsync_breakpadsync5
-rw-r--r--misc/todo-keychain-crash.txt30
-rw-r--r--remoteExample/build.gradle11
-rw-r--r--remoteExample/src/main/AndroidManifest.xml5
-rw-r--r--remoteExample/src/main/assets/test.conf2
-rw-r--r--remoteExample/src/main/java/de/blinkt/openvpn/remote/MainActivity.java5
-rw-r--r--remoteExample/src/main/java/de/blinkt/openvpn/remote/MainFragment.java5
-rw-r--r--remoteExample/src/main/res/layout/activity_main.xml5
-rw-r--r--remoteExample/src/main/res/layout/fragment_main.xml5
-rw-r--r--remoteExample/src/main/res/menu/main.xml5
-rw-r--r--remoteExample/src/main/res/values-w820dp/dimens.xml5
-rw-r--r--remoteExample/src/main/res/values/dimens.xml5
-rw-r--r--remoteExample/src/main/res/values/strings.xml5
-rw-r--r--remoteExample/src/main/res/values/styles.xml5
-rw-r--r--settings.gradle1
-rw-r--r--vpndialogxposed/build.gradle55
-rw-r--r--vpndialogxposed/libs/XposedBridgeApi.jarbin99376 -> 0 bytes
-rw-r--r--vpndialogxposed/src/main/AndroidManifest.xml38
-rw-r--r--vpndialogxposed/src/main/assets/xposed_init1
-rw-r--r--vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/AllowedVPNsChooser.java157
-rw-r--r--vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/IConnectivityManager.java110
-rw-r--r--vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/VpnDialogPatcher.java104
-rw-r--r--vpndialogxposed/src/main/res/drawable-hdpi/ic_launcher.pngbin741 -> 0 bytes
-rw-r--r--vpndialogxposed/src/main/res/drawable-mdpi/ic_launcher.pngbin549 -> 0 bytes
-rw-r--r--vpndialogxposed/src/main/res/drawable-xhdpi/ic_launcher.pngbin1061 -> 0 bytes
-rw-r--r--vpndialogxposed/src/main/res/drawable-xxhdpi/ic_launcher.pngbin1647 -> 0 bytes
-rw-r--r--vpndialogxposed/src/main/res/layout/vpnapplayout.xml39
-rw-r--r--vpndialogxposed/src/main/res/values/strings.xml13
673 files changed, 8991 insertions, 35112 deletions
diff --git a/.gitignore b/.gitignore
index f392b325..6e26c832 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@ cache.properties
main/openvpn3
+main/src/ovpn3/java/net/openvpn/ovpn3
diff --git a/.gitmodules b/.gitmodules
index 1c9297b2..8ee8ab30 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,9 @@
[submodule "main/openvpn"]
path = main/openvpn
- url = https://github.com/schwabe/openvpn.git
+ url = ../openvpn.git
[submodule "main/openssl"]
path = main/openssl
- url = https://github.com/schwabe/platform_external_openssl.git
+ url = ../platform_external_openssl.git
+[submodule "main/breakpad"]
+ path = main/breakpad
+ url = ../breakpad.git
diff --git a/.idea/copyright/ics_openvpn_gpl.xml b/.idea/copyright/ics_openvpn_gpl.xml
index 8f50b74f..b75531c0 100644
--- a/.idea/copyright/ics_openvpn_gpl.xml
+++ b/.idea/copyright/ics_openvpn_gpl.xml
@@ -1,9 +1,6 @@
<component name="CopyrightManager">
<copyright>
- <option name="notice" value="Copyright (c) 2012-2016 Arne Schwabe&#10;Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt" />
- <option name="keyword" value="Copyright" />
- <option name="allowReplaceKeyword" value="Copyright (c) 2012-2014 Arne Schwabe" />
<option name="myName" value="ics-openvpn-gpl" />
- <option name="myLocal" value="true" />
+ <option name="notice" value="Copyright (c) 2012-&amp;#36;{today.year} Arne Schwabe&#10;Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt" />
</copyright>
-</component>
+</component> \ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..474af626
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,24 @@
+language: android
+git:
+ depth: 1 # avoid cloning cmocka of openvpn
+jdk: oraclejdk8
+android:
+ components:
+ - tools
+ - android-26
+ - build-tools
+ - build-tools-26.0.0
+ - ndk
+ - extra-android-m2repository
+ - platform-tools
+
+ licenses:
+ - '.+'
+
+ install:
+ sdkmanager ndk-bundle
+
+ script:
+ - cd main && ./misc/build-native.sh USE_BREAKPAD=1 -j8; cd ..
+ - ./gradlew build connectedCheck
+
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
new file mode 100644
index 00000000..2177edfe
--- /dev/null
+++ b/ISSUE_TEMPLATE.md
@@ -0,0 +1,12 @@
+To make issues more manageable, I would appreciate if you fill out the details if applicable
+
+# General information
+1. Android Version
+2. Android Vendor/Custom ROM
+3. Device
+4. Version of the app (version number/play store version/self built)
+
+# Description of the issue
+
+
+
diff --git a/README.md b/README.md
index ac62056b..1738edf2 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,15 @@
OpenVPN for Android
=============
+[![Build Status](https://travis-ci.org/schwabe/ics-openvpn.svg?branch=master)](https://travis-ci.org/schwabe/ics-openvpn)
Description
------------
-With the new VPNService of Android API level 14+ (Ice Cream Sandwhich) it is possible to create a VPN service that does not root access. This project is a port of OpenVPN.
+With the new VPNService of Android API level 14+ (Ice Cream Sandwich) it is possible to create a VPN service that does not need root access. This project is a port of OpenVPN.
+
+<a href="https://f-droid.org/repository/browse/?fdid=de.blinkt.openvpn" target="_blank">
+<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="80"/></a>
+<a href="https://play.google.com/store/apps/details?id=de.blinkt.openvpn" target="_blank">
+<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80"/></a>
Developing
---------------
@@ -37,14 +43,13 @@ For example `ca mycafile.pem` becomes
-----END CERTIFICATE-----
</ca>
```
-Fotnotes
+Footnotes
-----------
-Please that OpenVPN used by this project is under GPLv2.
+Please note that OpenVPN used by this project is under GPLv2.
If you cannot or do not want to use the Play Store you can [download the apk files directly](http://plai.de/android/) .
-If you want to donate you can donate to [arne-paypal@rfc2549.org via paypal](https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&cmd=_s-xclick).
-
+If you want to donate you can donate to [arne-paypal@rfc2549.org via paypal](https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&cmd=_s-xclick), or alternatively if you believe in fancy Internet money you can use Bitcoin: 1EgjL1YQYS4V2TR4GuJtX1chmVCsZHDqSQ
The old official or main repository was a Mercurial (hg) repository at http://code.google.com/p/ics-openvpn/source/
diff --git a/build.gradle b/build.gradle
index 46d86cdb..f88bc5d2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,10 +5,13 @@
buildscript {
repositories {
+ maven {
+ url 'https://maven.google.com'
+ }
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.1.0-alpha4'
+ classpath 'com.android.tools.build:gradle:2.3.2'
}
}
diff --git a/doc/README.txt b/doc/README.txt
index dc64055e..057c54c3 100644
--- a/doc/README.txt
+++ b/doc/README.txt
@@ -15,16 +15,11 @@ See the file todo.txt for ideas/not yet implemented features (and the bug track
Build instructions:
-Disable Google breakcode (call build-native.sh with USE_BREAKPAD=0) or checkout google breakcode
-
-svn co http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad
-
-
- Install sdk
-- Install ndk (Version r10b is tested and used by me)
+- Install ndk (Latest version should work as long as you use gcc)
- Make sure that ndk-build is in your build path.
-Fetch the git submodules (the default urls for the submoles use ssh,
+Fetch the git submodules (the default urls for the submodules use ssh,
setup your own github ssh key or change the url to http in .gitmodules):
git submodule init
@@ -34,9 +29,9 @@ Do cd main;./misc/build-native.(sh|bat) in the main directory of the project.
After that build the project using "gradle build" (Or use Android Studio).
The project is converted to gradle and building with Eclipse is no longer supported.
-The ndk fails to build on Windows currently. As a workaround build on Linux and copy the ovpnlibs directory over to
-Windows or downlaod a released version (e.g. from plai.de/android) and extract the libs and assets directory and place them
-into main/ovpnlibs/
+Alternatively, if the NDK build fails for some reason pre-built libraries can be downloaded
+(e.g. from plai.de/android) and placed under main/ovpnlibs/assets/(no)pie_openvpn.{ABI}
+and main/ovpnlibs/jniLibs/{ABI}/*.so
FAQ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 5111e520..b217b6d7 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,11 +1,11 @@
#
-# Copyright (c) 2012-2016 Arne Schwabe
+# Copyright (c) 2012-2017 Arne Schwabe
# Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
#
-#Tue Nov 24 09:17:10 CET 2015
+#Wed Apr 05 16:08:37 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-all.zip
diff --git a/main/breakpad b/main/breakpad
new file mode 160000
+Subproject 7f66deca10f63057b7726f46ae547d5d8779808
diff --git a/main/build.gradle b/main/build.gradle
index 53d31100..afe19468 100644
--- a/main/build.gradle
+++ b/main/build.gradle
@@ -7,26 +7,36 @@ import com.android.builder.model.ProductFlavor
apply plugin: 'com.android.application'
+apply plugin: 'checkstyle'
+ checkstyle {
+ showViolations true
+ }
+
repositories {
jcenter()
+ maven { url "https://jitpack.io" }
+ maven { url 'https://maven.google.com' }
}
dependencies {
- compile 'com.android.support:support-annotations:23.2.1'
- compile 'com.android.support:cardview-v7:23.2.1'
- compile 'com.android.support:recyclerview-v7:23.2.1'
+ compile 'com.android.support:support-annotations:26.0.0'
+ compile 'com.android.support:cardview-v7:26.0.0'
+ compile 'com.android.support:recyclerview-v7:26.0.0'
// compile 'ch.acra:acra:4.5.0'
+ compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
+
+ testCompile 'junit:junit:4.12'
}
android {
- compileSdkVersion 23
- buildToolsVersion '23.0.2'
+ compileSdkVersion 26
+ buildToolsVersion '26.0.0'
defaultConfig {
minSdkVersion 14
- targetSdkVersion 23
- versionCode = 131
- versionName = "0.6.51"
+ targetSdkVersion 26
+ versionCode = 153
+ versionName = "0.6.73"
}
sourceSets {
@@ -61,7 +71,8 @@ android {
lintOptions {
enable 'BackButton', 'EasterEgg', 'StopShip', 'IconExpectedSize', 'GradleDynamicVersion', 'NewerVersionAvailable'
- disable 'MissingTranslation'
+ warning 'ImpliedQuantity', 'MissingQuantity'
+ disable 'MissingTranslation', 'UnsafeNativeCodeLocation'
}
buildTypes {
@@ -70,45 +81,18 @@ android {
}
}
+ flavorDimensions "implementation"
productFlavors {
- //ovpn3
-
- normal
-
-
-
- /*
- x86 {
- versionCode Integer.parseInt("6" + defaultConfig.versionCode)
- ndk {
- abiFilter "x86"
- }
- }
+ /*ovpn3 {
+ dimension "implementation"
- mips {
- versionCode Integer.parseInt("4" + defaultConfig.versionCode)
- ndk {
- abiFilter "mips"
- }
- }
+ } */
- armv7 {
- versionCode Integer.parseInt("2" + defaultConfig.versionCode)
- ndk {
- abiFilter "armeabi-v7a"
- }
- }
-
- arm {
- versionCode Integer.parseInt("1" + defaultConfig.versionCode)
- ndk {
- abiFilter "armeabi"
- }
- }
+ normal {
+ dimension "implementation"
+ }
- fat
- */
}
diff --git a/main/jni/Android.mk b/main/jni/Android.mk
index 22ba4c7f..5848edd6 100644
--- a/main/jni/Android.mk
+++ b/main/jni/Android.mk
@@ -2,38 +2,42 @@
JNI_DIR := $(call my-dir)
#optional arguments
-#WITH_POLAR=1
+#WITH_MBEDTLS=1
#WITH_OPENVPN3=1
-# Build openvpn with polar (OpenVPN3 core is always build with polar)
-#WITH_BREAKPAD=0
-
+# Build openvpn with mbedTLS (OpenVPN3 core is always build with mbedTLS)
+#USE_BREAKPAD=0
include lzo/Android.mk
include openssl/Android.mk
ifeq ($(TARGET_ARCH),mips)
- USE_BREAKPAD=0
-endif
-ifeq ($(TARGET_ARCH),mips64)
- USE_BREAKPAD=0
-endif
-
-ifeq ($(USE_BREAKPAD),1)
+ WITH_BREAKPAD=0
+else ifeq ($(TARGET_ARCH),mips64)
+ WITH_BREAKPAD=0
+else ifeq ($(USE_BREAKPAD),1)
WITH_BREAKPAD=1
- include breakpad/android/google_breakpad/Android.mk
else
WITH_BREAKPAD=0
endif
-ifeq ($(WITH_POLAR),1)
- USE_POLAR=1
+#ifeq ($(TARGET_ARCH),x86)
+# USE_BREAKPAD=0
+#endif
+
+
+ifeq ($(WITH_BREAKPAD),1)
+ include breakpad/android/google_breakpad/Android.mk
+endif
+
+ifeq ($(WITH_MBEDTLS),1)
+ USE_MBEDTLS=1
endif
ifeq ($(WITH_OPENVPN3),1)
- USE_POLAR=1
+ USE_MBEDTLS=1
endif
-ifeq ($(USE_POLAR),1)
- include polarssl/Android.mk
+ifeq ($(USE_MBEDTLS),1)
+ include mbedtls/Android.mk
endif
include openvpn/Android.mk
@@ -47,15 +51,15 @@ LOCAL_PATH := $(JNI_DIR)
# The only real JNI libraries
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog -lz
-LOCAL_CFLAGS = --std=c99 -DTARGET_ARCH_ABI=\"${TARGET_ARCH_ABI}\"
+LOCAL_CFLAGS = -DTARGET_ARCH_ABI=\"${TARGET_ARCH_ABI}\"
LOCAL_SRC_FILES:= jniglue.c scan_ifs.c
LOCAL_MODULE = opvpnutil
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog -lz
-LOCAL_CFLAGS = --std=c99
-LOCAL_C_INCLUDES := openssl/include openssl/crypto openssl
+LOCAL_CFLAGS =
+LOCAL_C_INCLUDES := openssl/include openssl/crypto openssl openssl/crypto/include
LOCAL_SRC_FILES:= jbcrypto.cpp
LOCAL_MODULE = jbcrypto
LOCAL_SHARED_LIBRARIES := libcrypto
@@ -64,8 +68,7 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -lz -lc
-LOCAL_SHARED_LIBRARIES := libssl libcrypto openvpn
-
+LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static openvpn
LOCAL_SRC_FILES:= minivpn.c dummy.cpp
LOCAL_MODULE = nopie_openvpn
# =======
@@ -79,7 +82,7 @@ include $(CLEAR_VARS)
LOCAL_LDLIBS := -lz -lc
LOCAL_CFLAGS= -fPIE -pie
LOCAL_LDFLAGS = -fPIE -pie
-LOCAL_SHARED_LIBRARIES := libssl libcrypto openvpn
+LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static openvpn
LOCAL_SRC_FILES:= minivpn.c dummy.cpp
LOCAL_MODULE = pie_openvpn
# =======
diff --git a/main/jni/Application.mk b/main/jni/Application.mk
index 9ecbf2e1..838c2eba 100644
--- a/main/jni/Application.mk
+++ b/main/jni/Application.mk
@@ -1,11 +1,18 @@
-APP_ABI := arm64-v8a armeabi armeabi-v7a mips x86 x86_64
+ifeq ($(USE_SHORT_COMMANDS),1)
+ APP_SHORT_COMMANDS := true
+endif
+
+APP_ABI := arm64-v8a armeabi armeabi-v7a x86 x86_64
APP_PLATFORM := android-14
-APP_STL:=stlport_static
-#APP_STL:=gnustl_shared
+#APP_STL:=stlport_static
+APP_STL:=c++_static
+
#APP_OPTIM := release
-#LOCAL_ARM_MODE := arm
+#NDK_TOOLCHAIN_VERSION=4.9
+APP_CPPFLAGS += -std=c++1y
+APP_CFLAGS += -funwind-tables
+
-#NDK_TOOLCHAIN_VERSION=clang \ No newline at end of file
diff --git a/main/jni/jbcrypto.cpp b/main/jni/jbcrypto.cpp
index 2fd1262a..810a3bc7 100644
--- a/main/jni/jbcrypto.cpp
+++ b/main/jni/jbcrypto.cpp
@@ -8,6 +8,8 @@
#include <jni.h>
+
+#include <internal/cryptlib.h>
#include <openssl/ssl.h>
#include <openssl/rsa.h>
#include <openssl/objects.h>
@@ -15,6 +17,7 @@
#include <android/log.h>
#include <openssl/err.h>
+#include <internal/evp_int.h>
extern "C" {
jbyteArray Java_de_blinkt_openvpn_core_NativeUtils_rsasign(JNIEnv* env, jclass, jbyteArray from, jint pkeyRef);
diff --git a/main/jni/scan_ifs.c b/main/jni/scan_ifs.c
index e0024c54..a26e2b36 100644
--- a/main/jni/scan_ifs.c
+++ b/main/jni/scan_ifs.c
@@ -61,8 +61,8 @@ jobjectArray Java_de_blinkt_openvpn_core_NativeUtils_getIfconfig(JNIEnv* env)
/* get interface addr, prefilled by SIOGIFCONF */
int err;
- if (err=getnameinfo(&ifr->ifr_addr, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0,
- NI_NUMERICHOST) !=0) {
+ if ((err=getnameinfo(&ifr->ifr_addr, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0,
+ NI_NUMERICHOST)) !=0) {
__android_log_print(ANDROID_LOG_DEBUG, "openvpn", "getnameinfo failed for %s: %s", ifr->ifr_name, gai_strerror(err));
continue;
}
@@ -90,8 +90,8 @@ jobjectArray Java_de_blinkt_openvpn_core_NativeUtils_getIfconfig(JNIEnv* env)
continue;
}
- if (err=getnameinfo(&ifreq.ifr_netmask, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0,
- NI_NUMERICHOST) !=0) {
+ if ((err=getnameinfo(&ifreq.ifr_netmask, sizeof(struct sockaddr_in), buf, NI_MAXHOST, NULL, 0,
+ NI_NUMERICHOST)) !=0) {
__android_log_print(ANDROID_LOG_DEBUG, "openvpn", "getnameinfo failed for %s: %s", ifr->ifr_name, gai_strerror(err));
continue;
}
diff --git a/main/lzo/B/dos16/bc.bat b/main/lzo/B/dos16/bc.bat
deleted file mode 100644
index 292b793a..00000000
--- a/main/lzo/B/dos16/bc.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Borland C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=bcc -ml -f-
-set CF=-O1 -d -w -w-rch -w-sig %CFI% -Iinclude\lzo
-set LF=%BLIB%
-
-%CC% %CF% -Isrc -c @b\src.rsp
-@if errorlevel 1 goto error
-tlib %BLIB% @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -f -Iexamples examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -f -ls -Ilzotest lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/bc.rsp b/main/lzo/B/dos16/bc.rsp
deleted file mode 100644
index 8a1d83e4..00000000
--- a/main/lzo/B/dos16/bc.rsp
+++ /dev/null
@@ -1,67 +0,0 @@
-+lzo1.obj &
-+lzo1_99.obj &
-+lzo1a.obj &
-+lzo1a_99.obj &
-+lzo1b_1.obj &
-+lzo1b_2.obj &
-+lzo1b_3.obj &
-+lzo1b_4.obj &
-+lzo1b_5.obj &
-+lzo1b_6.obj &
-+lzo1b_7.obj &
-+lzo1b_8.obj &
-+lzo1b_9.obj &
-+lzo1b_99.obj &
-+lzo1b_9x.obj &
-+lzo1b_cc.obj &
-+lzo1b_d1.obj &
-+lzo1b_d2.obj &
-+lzo1b_rr.obj &
-+lzo1b_xx.obj &
-+lzo1c_1.obj &
-+lzo1c_2.obj &
-+lzo1c_3.obj &
-+lzo1c_4.obj &
-+lzo1c_5.obj &
-+lzo1c_6.obj &
-+lzo1c_7.obj &
-+lzo1c_8.obj &
-+lzo1c_9.obj &
-+lzo1c_99.obj &
-+lzo1c_9x.obj &
-+lzo1c_cc.obj &
-+lzo1c_d1.obj &
-+lzo1c_d2.obj &
-+lzo1c_rr.obj &
-+lzo1c_xx.obj &
-+lzo1f_1.obj &
-+lzo1f_9x.obj &
-+lzo1f_d1.obj &
-+lzo1f_d2.obj &
-+lzo1x_1.obj &
-+lzo1x_1k.obj &
-+lzo1x_1l.obj &
-+lzo1x_1o.obj &
-+lzo1x_9x.obj &
-+lzo1x_d1.obj &
-+lzo1x_d2.obj &
-+lzo1x_d3.obj &
-+lzo1x_o.obj &
-+lzo1y_1.obj &
-+lzo1y_9x.obj &
-+lzo1y_d1.obj &
-+lzo1y_d2.obj &
-+lzo1y_d3.obj &
-+lzo1y_o.obj &
-+lzo1z_9x.obj &
-+lzo1z_d1.obj &
-+lzo1z_d2.obj &
-+lzo1z_d3.obj &
-+lzo2a_9x.obj &
-+lzo2a_d1.obj &
-+lzo2a_d2.obj &
-+lzo_crc.obj &
-+lzo_init.obj &
-+lzo_ptr.obj &
-+lzo_str.obj &
-+lzo_util.obj
diff --git a/main/lzo/B/dos16/bc_286.bat b/main/lzo/B/dos16/bc_286.bat
deleted file mode 100644
index 025a48ea..00000000
--- a/main/lzo/B/dos16/bc_286.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Borland C/C++ + Pharlap 286DOS-Extender
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=bcc286 -ml -2
-set CF=-O1 -d -w -w-rch -w-sig %CFI% -Iinclude\lzo
-set LF=%BLIB%
-
-%CC% %CF% -Isrc -c @b\src.rsp
-@if errorlevel 1 goto error
-tlib %BLIB% @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iexamples examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples -DWITH_TIMER examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Ilzotest lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iminilzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/bc_pp.bat b/main/lzo/B/dos16/bc_pp.bat
deleted file mode 100644
index 6c0aac37..00000000
--- a/main/lzo/B/dos16/bc_pp.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Borland C/C++ + Borland PowerPack 1.0 (DPMI16)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=bcc -ml -2 -WX
-set CF=-O1 -d -w -w-sig %CFI% -Iinclude\lzo
-set LF=%BLIB%
-
-%CC% %CF% -Isrc -c @b\src.rsp
-@if errorlevel 1 goto error
-tlib %BLIB% @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iexamples examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples -DWITH_TIMER examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Ilzotest lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iminilzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/dm.bat b/main/lzo/B/dos16/dm.bat
deleted file mode 100644
index 1ec6feca..00000000
--- a/main/lzo/B/dos16/dm.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Digital Mars C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=dmc -ml
-set CF=-o -w- %CFI%
-set LF=%BLIB%
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib %BLIB% /b /c /n /noi @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/mc.bat b/main/lzo/B/dos16/mc.bat
deleted file mode 100644
index 4f34a36f..00000000
--- a/main/lzo/B/dos16/mc.bat
+++ /dev/null
@@ -1,52 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Microsoft C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -AL
-set CF=-O -Gf -W3 %CFI%
-set LF=/map
-
-@REM %CC% %CF% -c src\*.c
-for %%f in (src\*.c) do %CC% %CF% -c %%f
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c examples\dict.c
-@if errorlevel 1 goto error
-link %LF% dict.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\lzopack.c
-@if errorlevel 1 goto error
-link %LF% lzopack.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp.c
-@if errorlevel 1 goto error
-link %LF% precomp.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp2.c
-@if errorlevel 1 goto error
-link %LF% precomp2.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\simple.c
-@if errorlevel 1 goto error
-link %LF% simple.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c lzotest\lzotest.c
-@if errorlevel 1 goto error
-link %LF% lzotest.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/mc_qc.bat b/main/lzo/B/dos16/mc_qc.bat
deleted file mode 100644
index 1c2ce940..00000000
--- a/main/lzo/B/dos16/mc_qc.bat
+++ /dev/null
@@ -1,52 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Microsoft C/C++ (QuickC)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -qc -AL
-set CF=-O -Gf -W3 %CFI%
-set LF=/map
-
-@REM %CC% %CF% -c src\*.c
-for %%f in (src\*.c) do %CC% %CF% -c %%f
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c examples\dict.c
-@if errorlevel 1 goto error
-link %LF% dict.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\lzopack.c
-@if errorlevel 1 goto error
-link %LF% lzopack.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp.c
-@if errorlevel 1 goto error
-link %LF% precomp.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp2.c
-@if errorlevel 1 goto error
-link %LF% precomp2.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\simple.c
-@if errorlevel 1 goto error
-link %LF% simple.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c lzotest\lzotest.c
-@if errorlevel 1 goto error
-link %LF% lzotest.obj,,,%BLIB%;
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/qc.bat b/main/lzo/B/dos16/qc.bat
deleted file mode 100644
index 82734fd7..00000000
--- a/main/lzo/B/dos16/qc.bat
+++ /dev/null
@@ -1,40 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Microsoft QuickC
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=qcl -nologo -AL
-set CF=-O -Gf -W3 %CFI%
-set LF=%BLIB% -Fm
-
-@REM %CC% %CF% -c src\*.c
-for %%f in (src\*.c) do %CC% %CF% -c %%f
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/sc.bat b/main/lzo/B/dos16/sc.bat
deleted file mode 100644
index 056c04a9..00000000
--- a/main/lzo/B/dos16/sc.bat
+++ /dev/null
@@ -1,53 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Symantec C/C++
-@echo //
-@echo // NOTE: LZO breaks the optimizer, so we disable optimizations
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=sc -ml
-set CF=-w- %CFI%
-set LF=%BLIB%
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib %BLIB% /b /c /n /noi @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -c examples\dict.c
-@if errorlevel 1 goto error
-%CC% dict.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\lzopack.c
-@if errorlevel 1 goto error
-%CC% lzopack.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp.c
-@if errorlevel 1 goto error
-%CC% precomp.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp2.c
-@if errorlevel 1 goto error
-%CC% precomp2.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\simple.c
-@if errorlevel 1 goto error
-%CC% simple.obj %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -c lzotest\lzotest.c
-@if errorlevel 1 goto error
-%CC% lzotest.obj %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/tc.bat b/main/lzo/B/dos16/tc.bat
deleted file mode 100644
index a3c32770..00000000
--- a/main/lzo/B/dos16/tc.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Turbo C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=tcc -ml -f-
-set CF=-O -G -w -w-rch -w-sig %CFI% -Iinclude\lzo
-set LF=%BLIB%
-
-%CC% %CF% -Isrc -c src\*.c
-@if errorlevel 1 goto error
-tlib %BLIB% @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -f -Iexamples examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -f -Ilzotest lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/vc.bat b/main/lzo/B/dos16/vc.bat
deleted file mode 100644
index b0617859..00000000
--- a/main/lzo/B/dos16/vc.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Microsoft Visual C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -AL
-set CF=-O -Gf -Gs -Gy -W3 %CFI%
-set LF=%BLIB% -Fm
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/vc_qc.bat b/main/lzo/B/dos16/vc_qc.bat
deleted file mode 100644
index 329b092f..00000000
--- a/main/lzo/B/dos16/vc_qc.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Microsoft Visual C/C++ (QuickC)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -qc -AL
-set CF=-O -Gf -Gy -W3 %CFI%
-set LF=%BLIB% -Fm
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/wc.bat b/main/lzo/B/dos16/wc.bat
deleted file mode 100644
index c92135c0..00000000
--- a/main/lzo/B/dos16/wc.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // DOS 16-bit
-@echo // Watcom C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=wcl -zq -ml -bt#dos -l#dos
-set CF=-ox %CFI%
-set LF=%BLIB%
-
-%CC% %CF% -c src\*.c
-@if errorlevel 1 goto error
-wlib -q -b -n -t %BLIB% @b\dos16\wc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/dos16/wc.rsp b/main/lzo/B/dos16/wc.rsp
deleted file mode 100644
index c8e1c9ff..00000000
--- a/main/lzo/B/dos16/wc.rsp
+++ /dev/null
@@ -1,67 +0,0 @@
-+'lzo1.obj'
-+'lzo1_99.obj'
-+'lzo1a.obj'
-+'lzo1a_99.obj'
-+'lzo1b_1.obj'
-+'lzo1b_2.obj'
-+'lzo1b_3.obj'
-+'lzo1b_4.obj'
-+'lzo1b_5.obj'
-+'lzo1b_6.obj'
-+'lzo1b_7.obj'
-+'lzo1b_8.obj'
-+'lzo1b_9.obj'
-+'lzo1b_99.obj'
-+'lzo1b_9x.obj'
-+'lzo1b_cc.obj'
-+'lzo1b_d1.obj'
-+'lzo1b_d2.obj'
-+'lzo1b_rr.obj'
-+'lzo1b_xx.obj'
-+'lzo1c_1.obj'
-+'lzo1c_2.obj'
-+'lzo1c_3.obj'
-+'lzo1c_4.obj'
-+'lzo1c_5.obj'
-+'lzo1c_6.obj'
-+'lzo1c_7.obj'
-+'lzo1c_8.obj'
-+'lzo1c_9.obj'
-+'lzo1c_99.obj'
-+'lzo1c_9x.obj'
-+'lzo1c_cc.obj'
-+'lzo1c_d1.obj'
-+'lzo1c_d2.obj'
-+'lzo1c_rr.obj'
-+'lzo1c_xx.obj'
-+'lzo1f_1.obj'
-+'lzo1f_9x.obj'
-+'lzo1f_d1.obj'
-+'lzo1f_d2.obj'
-+'lzo1x_1.obj'
-+'lzo1x_1k.obj'
-+'lzo1x_1l.obj'
-+'lzo1x_1o.obj'
-+'lzo1x_9x.obj'
-+'lzo1x_d1.obj'
-+'lzo1x_d2.obj'
-+'lzo1x_d3.obj'
-+'lzo1x_o.obj'
-+'lzo1y_1.obj'
-+'lzo1y_9x.obj'
-+'lzo1y_d1.obj'
-+'lzo1y_d2.obj'
-+'lzo1y_d3.obj'
-+'lzo1y_o.obj'
-+'lzo1z_9x.obj'
-+'lzo1z_d1.obj'
-+'lzo1z_d2.obj'
-+'lzo1z_d3.obj'
-+'lzo2a_9x.obj'
-+'lzo2a_d1.obj'
-+'lzo2a_d2.obj'
-+'lzo_crc.obj'
-+'lzo_init.obj'
-+'lzo_ptr.obj'
-+'lzo_str.obj'
-+'lzo_util.obj'
diff --git a/main/lzo/B/dos32/bc_pp.bat b/main/lzo/B/dos32/bc_pp.bat
index a85ed440..1af928a1 100644
--- a/main/lzo/B/dos32/bc_pp.bat
+++ b/main/lzo/B/dos32/bc_pp.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Borland C/C++ + Borland PowerPack 1.0 (DPMI32)
diff --git a/main/lzo/B/dos32/dj2.bat b/main/lzo/B/dos32/dj2.bat
index 7e152e9e..eb07ff6c 100644
--- a/main/lzo/B/dos32/dj2.bat
+++ b/main/lzo/B/dos32/dj2.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // djgpp2 + gcc
diff --git a/main/lzo/B/dos32/dm.bat b/main/lzo/B/dos32/dm.bat
index 126763eb..e3c9e8a1 100644
--- a/main/lzo/B/dos32/dm.bat
+++ b/main/lzo/B/dos32/dm.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Digital Mars C/C++
diff --git a/main/lzo/B/dos32/emx.bat b/main/lzo/B/dos32/emx.bat
index 46249725..2b42003e 100644
--- a/main/lzo/B/dos32/emx.bat
+++ b/main/lzo/B/dos32/emx.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // emx + gcc
diff --git a/main/lzo/B/dos32/highc.bat b/main/lzo/B/dos32/highc.bat
index f1591ba3..db5a1bda 100644
--- a/main/lzo/B/dos32/highc.bat
+++ b/main/lzo/B/dos32/highc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // MetaWare High C/C++ (using Pharlap DOS extender)
diff --git a/main/lzo/B/dos32/ndp.bat b/main/lzo/B/dos32/ndp.bat
index 71882ec1..70b3d633 100644
--- a/main/lzo/B/dos32/ndp.bat
+++ b/main/lzo/B/dos32/ndp.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Microway NDP C/C++
diff --git a/main/lzo/B/dos32/sc.bat b/main/lzo/B/dos32/sc.bat
index 22a46847..88be0958 100644
--- a/main/lzo/B/dos32/sc.bat
+++ b/main/lzo/B/dos32/sc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Symantec C/C++
diff --git a/main/lzo/B/dos32/wc.bat b/main/lzo/B/dos32/wc.bat
index 3698f6b5..306f982d 100644
--- a/main/lzo/B/dos32/wc.bat
+++ b/main/lzo/B/dos32/wc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Watcom C/C++ (using DOS/4G extender)
diff --git a/main/lzo/B/dos32/zc.bat b/main/lzo/B/dos32/zc.bat
index 4bbc6a4a..2d344cb1 100644
--- a/main/lzo/B/dos32/zc.bat
+++ b/main/lzo/B/dos32/zc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // DOS 32-bit
@echo // Zortech C/C++
diff --git a/main/lzo/B/generic/Makefile b/main/lzo/B/generic/Makefile
index 68c6e2fe..98f5d9e5 100644
--- a/main/lzo/B/generic/Makefile
+++ b/main/lzo/B/generic/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+# Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
#
# this is modelled after build.sh; needs GNU make 3.80 or better
diff --git a/main/lzo/B/generic/build.sh b/main/lzo/B/generic/build.sh
index e71a98d2..28f95b54 100755
--- a/main/lzo/B/generic/build.sh
+++ b/main/lzo/B/generic/build.sh
@@ -1,7 +1,7 @@
#! /bin/sh
## vim:set ts=4 sw=4 et:
set -e
-echo "// Copyright (C) 1996-2015 Markus F.X.J. Oberhumer"
+echo "// Copyright (C) 1996-2017 Markus F.X.J. Oberhumer"
echo "//"
echo "// Generic Posix/Unix system"
echo "// Generic C compiler"
diff --git a/main/lzo/B/generic/clean.sh b/main/lzo/B/generic/clean.sh
index 87bd4c82..eb7a9680 100755
--- a/main/lzo/B/generic/clean.sh
+++ b/main/lzo/B/generic/clean.sh
@@ -1,6 +1,6 @@
#! /bin/sh
## vim:set ts=4 sw=4 et:
-# Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+# Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
rm -f *.o liblzo2.a dict.out lzopack.out precomp.out precomp2.out simple.out lzotest.out testmini.out
diff --git a/main/lzo/B/os2/emx.bat b/main/lzo/B/os2/emx.bat
index bc635711..182f0497 100644
--- a/main/lzo/B/os2/emx.bat
+++ b/main/lzo/B/os2/emx.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // OS/2 32-bit
@echo // emx + gcc
diff --git a/main/lzo/B/os2/wc.bat b/main/lzo/B/os2/wc.bat
index 5e795679..cecce7d8 100644
--- a/main/lzo/B/os2/wc.bat
+++ b/main/lzo/B/os2/wc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // OS/2 32-bit
@echo // Watcom C/C++
diff --git a/main/lzo/B/os2/zc.bat b/main/lzo/B/os2/zc.bat
index 9a1bc02d..91bd480d 100644
--- a/main/lzo/B/os2/zc.bat
+++ b/main/lzo/B/os2/zc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // OS/2 32-bit
@echo // Zortech C/C++
diff --git a/main/lzo/B/os2_16/mc.bat b/main/lzo/B/os2_16/mc.bat
deleted file mode 100644
index 95742d41..00000000
--- a/main/lzo/B/os2_16/mc.bat
+++ /dev/null
@@ -1,43 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // OS/2 16-bit
-@echo // Microsoft C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -AL -G2
-set CF=-D__OS2__ -O -Gf -Gs -W3 %CFI%
-set LF=%BLIB% -Lp -Fm /link /stack:8096
-
-@REM %CC% %CF% -c src\*.c
-for %%f in (src\*.c) do %CC% %CF% -c %%f
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/os2_16/wc.bat b/main/lzo/B/os2_16/wc.bat
deleted file mode 100644
index bbe17430..00000000
--- a/main/lzo/B/os2_16/wc.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // OS/2 16-bit
-@echo // Watcom C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=wcl -zq -ml -2 -bt#os2 -l#os2
-set CF=-ox %CFI%
-set LF=%BLIB%
-
-%CC% %CF% -c src\*.c
-@if errorlevel 1 goto error
-wlib -q -b -n -t %BLIB% @b\dos16\wc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/bc.bat b/main/lzo/B/win16/bc.bat
deleted file mode 100644
index f252ada8..00000000
--- a/main/lzo/B/win16/bc.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Borland C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=bcc -ml -2 -tW -h
-set CF=-O1 -d -w -w-rch -w-sig %CFI% -Iinclude\lzo
-set LF=%BLIB%
-
-%CC% %CF% -Isrc -c @b\src.rsp
-@if errorlevel 1 goto error
-tlib %BLIB% @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iexamples examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -Iexamples examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -ls -Ilzotest lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -ls -Iminilzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/dm.bat b/main/lzo/B/win16/dm.bat
deleted file mode 100644
index 8009a996..00000000
--- a/main/lzo/B/win16/dm.bat
+++ /dev/null
@@ -1,43 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Digital Mars C/C++ (using WINIO)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=dmc -ml -2 -W
-set CF=-o -w- %CFI%
-set LF=%BLIB% libw.lib commdlg.lib lwindos.lib /L/map/stack:8096
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib %BLIB% /b /c /n /noi @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-set LF=libw.lib commdlg.lib lwindos.lib /L/map/stack:8096
-%CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/mc.bat b/main/lzo/B/win16/mc.bat
deleted file mode 100644
index 4404e421..00000000
--- a/main/lzo/B/win16/mc.bat
+++ /dev/null
@@ -1,56 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Microsoft C/C++ (using QuickWin)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -AL -G2 -Mq
-set CF=-O -Gf -W3 %CFI%
-set LF=/seg:256 /stack:8096 /nod:llibce /map
-
-%CC% %CF% -c src\*.c
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c examples\dict.c
-@if errorlevel 1 goto error
-link %LF% dict.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\lzopack.c
-@if errorlevel 1 goto error
-link %LF% lzopack.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp.c
-@if errorlevel 1 goto error
-link %LF% precomp.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp2.c
-@if errorlevel 1 goto error
-link %LF% precomp2.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\simple.c
-@if errorlevel 1 goto error
-link %LF% simple.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-
-%CC% %CF% -c lzotest\lzotest.c
-@if errorlevel 1 goto error
-link %LF% lzotest.obj,,,llibcewq.lib libw.lib %BLIB%;
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iinclude\lzo -c minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-link %LF% testmini.obj minilzo.obj,,,llibcewq.lib libw.lib;
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/sc.bat b/main/lzo/B/win16/sc.bat
deleted file mode 100644
index 0dab9e3c..00000000
--- a/main/lzo/B/win16/sc.bat
+++ /dev/null
@@ -1,53 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Symantec C/C++ (using WINIO)
-@echo //
-@echo // NOTE: LZO breaks the optimizer, so we disable optimizations
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=sc -ml -2 -W
-set CF=-w- %CFI%
-set LF=%BLIB% libw.lib commdlg.lib lwindos.lib /L/map/stack:8096
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib %BLIB% /b /c /n /noi @b\dos16\bc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% -c examples\dict.c
-@if errorlevel 1 goto error
-%CC% dict.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\lzopack.c
-@if errorlevel 1 goto error
-%CC% lzopack.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp.c
-@if errorlevel 1 goto error
-%CC% precomp.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\precomp2.c
-@if errorlevel 1 goto error
-%CC% precomp2.obj %LF%
-@if errorlevel 1 goto error
-%CC% %CF% -c examples\simple.c
-@if errorlevel 1 goto error
-%CC% simple.obj %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -c lzotest\lzotest.c
-@if errorlevel 1 goto error
-%CC% lzotest.obj %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/vc.bat b/main/lzo/B/win16/vc.bat
deleted file mode 100644
index 2c35cfc4..00000000
--- a/main/lzo/B/win16/vc.bat
+++ /dev/null
@@ -1,43 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Microsoft Visual C/C++ (using QuickWin)
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=cl -nologo -AL -G2 -Mq
-set CF=-O -Gf -Gs -Gy -W3 %CFI%
-set LF=%BLIB% -Fm /link /seg:256
-
-%CC% %CF% -c @b\src.rsp
-@if errorlevel 1 goto error
-lib /nologo %BLIB% @b\dos16\bc.rsp;
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-set LF=-Fm /link /seg:256
-%CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c %LF%
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win16/wc.bat b/main/lzo/B/win16/wc.bat
deleted file mode 100644
index b5dbf22a..00000000
--- a/main/lzo/B/win16/wc.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo // Copyright (C) 1996-2011 Markus F.X.J. Oberhumer
-@echo //
-@echo // Windows 16-bit
-@echo // Watcom C/C++
-@echo //
-@call b\prepare.bat
-@if "%BECHO%"=="n" echo off
-
-
-set CC=wcl -zq -ml -2 -bw -bt#windows -l#windows
-set CF=-ox %CFI%
-set LF=%BLIB%
-
-%CC% %CF% -c src\*.c
-@if errorlevel 1 goto error
-wlib -q -b -n -t %BLIB% @b\dos16\wc.rsp
-@if errorlevel 1 goto error
-
-%CC% %CF% examples\dict.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\lzopack.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\precomp2.c %LF%
-@if errorlevel 1 goto error
-%CC% %CF% examples\simple.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% lzotest\lzotest.c %LF%
-@if errorlevel 1 goto error
-
-%CC% %CF% -Iinclude\lzo minilzo\testmini.c minilzo\minilzo.c
-@if errorlevel 1 goto error
-
-
-@call b\done.bat
-@goto end
-:error
-@echo ERROR during build!
-:end
-@call b\unset.bat
diff --git a/main/lzo/B/win32/bc.bat b/main/lzo/B/win32/bc.bat
index f8cf27c3..7124c361 100644
--- a/main/lzo/B/win32/bc.bat
+++ b/main/lzo/B/win32/bc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Borland C/C++
diff --git a/main/lzo/B/win32/cygwin.bat b/main/lzo/B/win32/cygwin.bat
index c961d0b1..7cc44486 100644
--- a/main/lzo/B/win32/cygwin.bat
+++ b/main/lzo/B/win32/cygwin.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // cygwin + gcc
diff --git a/main/lzo/B/win32/dm.bat b/main/lzo/B/win32/dm.bat
index c0b88aad..e9f944a3 100644
--- a/main/lzo/B/win32/dm.bat
+++ b/main/lzo/B/win32/dm.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Digital Mars C/C++
diff --git a/main/lzo/B/win32/ic.bat b/main/lzo/B/win32/ic.bat
index 30c635c4..eeb260bd 100644
--- a/main/lzo/B/win32/ic.bat
+++ b/main/lzo/B/win32/ic.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Intel C/C++
diff --git a/main/lzo/B/win32/lccwin32.bat b/main/lzo/B/win32/lccwin32.bat
index 1c270c07..bd40d044 100644
--- a/main/lzo/B/win32/lccwin32.bat
+++ b/main/lzo/B/win32/lccwin32.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // lcc-win32
diff --git a/main/lzo/B/win32/mingw.bat b/main/lzo/B/win32/mingw.bat
index d466f461..edd9b894 100644
--- a/main/lzo/B/win32/mingw.bat
+++ b/main/lzo/B/win32/mingw.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // MinGW + gcc
diff --git a/main/lzo/B/win32/mwerks.bat b/main/lzo/B/win32/mwerks.bat
index f1e4d08d..cb1a4718 100644
--- a/main/lzo/B/win32/mwerks.bat
+++ b/main/lzo/B/win32/mwerks.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Metrowerks CodeWarrior C/C++
diff --git a/main/lzo/B/win32/pellesc.bat b/main/lzo/B/win32/pellesc.bat
index cfe8af50..5115be6d 100644
--- a/main/lzo/B/win32/pellesc.bat
+++ b/main/lzo/B/win32/pellesc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Pelles C
diff --git a/main/lzo/B/win32/pgi.bat b/main/lzo/B/win32/pgi.bat
index 8b20d778..a3b37988 100644
--- a/main/lzo/B/win32/pgi.bat
+++ b/main/lzo/B/win32/pgi.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Portland Group PGI C/C++
diff --git a/main/lzo/B/win32/pw32.bat b/main/lzo/B/win32/pw32.bat
index 7b4d6306..43d5717f 100644
--- a/main/lzo/B/win32/pw32.bat
+++ b/main/lzo/B/win32/pw32.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // PW32 + gcc
diff --git a/main/lzo/B/win32/rsxnt.bat b/main/lzo/B/win32/rsxnt.bat
index de8d876e..c72314fc 100644
--- a/main/lzo/B/win32/rsxnt.bat
+++ b/main/lzo/B/win32/rsxnt.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // rsxnt + gcc
diff --git a/main/lzo/B/win32/sc.bat b/main/lzo/B/win32/sc.bat
index 2d56617a..6f2932f7 100644
--- a/main/lzo/B/win32/sc.bat
+++ b/main/lzo/B/win32/sc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Symantec C/C++
diff --git a/main/lzo/B/win32/vc.bat b/main/lzo/B/win32/vc.bat
index 0d66e815..f4336af5 100644
--- a/main/lzo/B/win32/vc.bat
+++ b/main/lzo/B/win32/vc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Microsoft Visual C/C++
diff --git a/main/lzo/B/win32/vc_dll.bat b/main/lzo/B/win32/vc_dll.bat
index 7b0a02bb..ee1f8dec 100644
--- a/main/lzo/B/win32/vc_dll.bat
+++ b/main/lzo/B/win32/vc_dll.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Microsoft Visual C/C++ (DLL)
diff --git a/main/lzo/B/win32/vc_dll.def b/main/lzo/B/win32/vc_dll.def
index 215fb86d..967cdf16 100644
--- a/main/lzo/B/win32/vc_dll.def
+++ b/main/lzo/B/win32/vc_dll.def
@@ -1,7 +1,7 @@
EXPORTS
- _lzo1c_decompress_asm=lzo1c_decompress_asm
- _lzo1f_decompress_asm_fast=lzo1f_decompress_asm_fast
- _lzo1x_decompress_asm=lzo1x_decompress_asm
- _lzo1x_decompress_asm_fast=lzo1x_decompress_asm_fast
- _lzo1y_decompress_asm=lzo1y_decompress_asm
- _lzo1y_decompress_asm_fast=lzo1y_decompress_asm_fast
+ lzo1c_decompress_asm
+ lzo1f_decompress_asm_fast
+ lzo1x_decompress_asm
+ lzo1x_decompress_asm_fast
+ lzo1y_decompress_asm
+ lzo1y_decompress_asm_fast
diff --git a/main/lzo/B/win32/wc.bat b/main/lzo/B/win32/wc.bat
index 685df93d..e7266e5e 100644
--- a/main/lzo/B/win32/wc.bat
+++ b/main/lzo/B/win32/wc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 32-bit
@echo // Watcom C/C++
diff --git a/main/lzo/B/win64/ic.bat b/main/lzo/B/win64/ic.bat
index 9ddc3dd9..4587019c 100644
--- a/main/lzo/B/win64/ic.bat
+++ b/main/lzo/B/win64/ic.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 64-bit (Itanium)
@echo // Intel C/C++
diff --git a/main/lzo/B/win64/ic_dll.bat b/main/lzo/B/win64/ic_dll.bat
index 0bf285ff..9139822c 100644
--- a/main/lzo/B/win64/ic_dll.bat
+++ b/main/lzo/B/win64/ic_dll.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 64-bit (Itanium)
@echo // Intel C/C++ (DLL)
diff --git a/main/lzo/B/win64/vc.bat b/main/lzo/B/win64/vc.bat
index 888bd06d..c4429168 100644
--- a/main/lzo/B/win64/vc.bat
+++ b/main/lzo/B/win64/vc.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 64-bit (AMD64 or Itanium)
@echo // Microsoft Visual C/C++
diff --git a/main/lzo/B/win64/vc_dll.bat b/main/lzo/B/win64/vc_dll.bat
index 8427e197..bfc26f2f 100644
--- a/main/lzo/B/win64/vc_dll.bat
+++ b/main/lzo/B/win64/vc_dll.bat
@@ -1,4 +1,4 @@
-@echo // Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+@echo // Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
@echo //
@echo // Windows 64-bit (AMD64 or Itanium)
@echo // Microsoft Visual C/C++ (DLL)
diff --git a/main/lzo/CMakeLists.txt b/main/lzo/CMakeLists.txt
index bf79f637..98c0a1ad 100644
--- a/main/lzo/CMakeLists.txt
+++ b/main/lzo/CMakeLists.txt
@@ -1,17 +1,26 @@
#
-# CMakeLists.txt --- a simple "CMake" file for building LZO
+# CMakeLists.txt --- a "CMake" file for building LZO
#
# This file is part of the LZO data compression library.
+# http://www.oberhumer.com/opensource/lzo/
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
# All Rights Reserved.
#
+cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
+
#
-# simple usage:
+# simple usage example (Unix):
# mkdir -p build && cd build && cmake .. && make
#
-# another usage example:
+# simple usage example (Windows MSVC):
+# md build
+# cd build
+# cmake .. -G "NMake Makefiles"
+# nmake
+#
+# another usage example (Unix):
# mkdir -p build/release-i686
# cd build/release-i686
# cmake ../.. -DENABLE_STATIC=0 -DENABLE_SHARED=1 \
@@ -23,11 +32,9 @@
# see http://www.cmake.org/ for more info
#
-#
-# init
-#
-
-cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
+# /***********************************************************************
+# // init
+# ************************************************************************/
# Disallow in-source builds. Note that you will still have to manually
# clean up a few files if you accidentally try an in-source build.
@@ -37,50 +44,86 @@ if(",${CMAKE_SOURCE_DIR}," STREQUAL ",${CMAKE_BINARY_DIR},")
message(FATAL_ERROR "ERROR: In-source builds are not allowed.")
endif()
-project(lzo C)
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
+endif()
-#
-# configuration options
-#
+project(lzo VERSION 2.10 LANGUAGES C)
+# configuration options
option(ENABLE_STATIC "Build static LZO library." ON)
option(ENABLE_SHARED "Build shared LZO library." OFF)
-
-if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
+if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
+ set(ENABLE_STATIC ON)
endif()
+if(ENABLE_SHARED AND WIN32)
+ cmake_minimum_required(VERSION 3.4.3 FATAL_ERROR) # needed for WINDOWS_EXPORT_ALL_SYMBOLS
+endif()
+
+# install directories
if(NOT CMAKE_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "" FORCE)
+ message(FATAL_ERROR "ERROR: CMAKE_INSTALL_PREFIX is not defined.")
endif()
+include(FindPkgConfig QUIET)
+include(GNUInstallDirs)
-#
-# targets
-#
+# /***********************************************************************
+# // targets
+# ************************************************************************/
file(GLOB lzo_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c")
list(SORT lzo_SOURCES)
# LZO library
-if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
- set(ENABLE_STATIC ON)
+if(NOT DEFINED lzo_USE_OBJECT_LIB)
+ if(ENABLE_STATIC AND ENABLE_SHARED)
+ if(CMAKE_POSITION_INDEPENDENT_CODE OR MSVC)
+ # all objects are PIC on this system => can share objects
+ set(lzo_USE_OBJECT_LIB 1)
+ endif()
+ endif()
+endif()
+set(lzo_COMPILE_TARGETS )
+if(lzo_USE_OBJECT_LIB)
+ add_library(lzo_object_lib OBJECT ${lzo_SOURCES})
+ list(APPEND lzo_COMPILE_TARGETS lzo_object_lib)
+ set_property(TARGET lzo_object_lib PROPERTY POSITION_INDEPENDENT_CODE ON)
endif()
if(ENABLE_STATIC)
- add_library(lzo_static STATIC ${lzo_SOURCES})
- set_target_properties(lzo_static PROPERTIES OUTPUT_NAME lzo2)
+ if(lzo_USE_OBJECT_LIB)
+ add_library(lzo_static_lib STATIC $<TARGET_OBJECTS:lzo_object_lib>)
+ else()
+ add_library(lzo_static_lib STATIC ${lzo_SOURCES})
+ list(APPEND lzo_COMPILE_TARGETS lzo_static_lib)
+ endif()
+ set_target_properties(lzo_static_lib PROPERTIES OUTPUT_NAME lzo2)
endif()
if(ENABLE_SHARED)
- add_library(lzo_shared SHARED ${lzo_SOURCES})
- set_target_properties(lzo_shared PROPERTIES OUTPUT_NAME lzo2)
- set_target_properties(lzo_shared PROPERTIES SOVERSION 2 VERSION 2.0.0)
+ if(lzo_USE_OBJECT_LIB)
+ add_library(lzo_shared_lib SHARED $<TARGET_OBJECTS:lzo_object_lib>)
+ else()
+ add_library(lzo_shared_lib SHARED ${lzo_SOURCES})
+ list(APPEND lzo_COMPILE_TARGETS lzo_shared_lib)
+ endif()
+ set_target_properties(lzo_shared_lib PROPERTIES OUTPUT_NAME lzo2)
+ if(ENABLE_STATIC)
+ # avoid name clash between static lzo2.lib and DLL import-lib lzo2.lib
+ set_target_properties(lzo_shared_lib PROPERTIES ARCHIVE_OUTPUT_NAME lzo2_dllimport)
+ endif()
+ set_target_properties(lzo_shared_lib PROPERTIES SOVERSION 2 VERSION 2.0.0) # ABI version is 2.0.0 !
+ set_target_properties(lzo_shared_lib PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
# tests & examples
macro(lzo_add_executable t)
add_executable(${t} ${ARGN})
if(ENABLE_STATIC)
- target_link_libraries(${t} lzo_static)
+ target_link_libraries(${t} lzo_static_lib)
else()
- target_link_libraries(${t} lzo_shared)
+ target_link_libraries(${t} lzo_shared_lib)
+ if(DEFINED CMAKE_INSTALL_FULL_LIBDIR)
+ set_target_properties(${t} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+ endif()
endif()
endmacro()
# main test driver
@@ -103,15 +146,16 @@ endif()
# miniLZO
if(1)
add_executable(testmini minilzo/testmini.c minilzo/minilzo.c)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/lzo) # needed for "lzoconf.h"
+ target_include_directories(testmini PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include/lzo") # needed for "lzoconf.h"
endif()
-#
-# compilation flags
-#
+# /***********************************************************************
+# // compilation flags
+# // this section currently mostly matches the Autoconf version
+# ************************************************************************/
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
include(CheckFunctionExists)
include(CheckIncludeFile)
@@ -120,6 +164,14 @@ include(CheckSymbolExists)
include(CheckTypeSize)
include(TestBigEndian)
+if(MSVC)
+ # disable silly warnings about using "deprecated" POSIX functions like fopen()
+ add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
+ add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+endif()
+
# Checks for header files
macro(mfx_check_include_file f var)
check_include_file("${f}" "mfx_${var}")
@@ -187,48 +239,76 @@ endif()
# LZO_HAVE_CONFIG_H
add_definitions(-DLZO_CFG_NO_CONFIG_HEADER=1)
-#
-# "make install"
-#
+# warnings
+foreach(t ${lzo_COMPILE_TARGETS})
+ if(CMAKE_C_COMPILER_ID MATCHES "^(Clang|GNU)$")
+ target_compile_options(${t} PRIVATE -Wall -W -Wcast-qual)
+ endif()
+endforeach()
-# these subdirs are relative to CMAKE_INSTALL_PREFIX
-if(NOT DEFINED install_doc_subdir)
- set(install_doc_subdir "share/doc/lzo")
-endif()
-if(NOT DEFINED install_include_subdir)
- set(install_include_subdir "include/lzo")
-endif()
-if(NOT DEFINED install_lib_subdir)
- set(install_lib_subdir "lib")
-endif()
-if(NOT DEFINED install_examples_subdir)
- set(install_examples_subdir "libexec/lzo/examples")
-endif()
+# /***********************************************************************
+# // "make test"
+# ************************************************************************/
+
+include(CTest)
+add_test(NAME simple COMMAND simple)
+add_test(NAME testmini COMMAND testmini)
+add_test(NAME lzotest-01 COMMAND lzotest -mlzo -n2 -q "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
+add_test(NAME lzotest-02 COMMAND lzotest -mavail -n10 -q "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
+add_test(NAME lzotest-03 COMMAND lzotest -mall -n10 -q "${CMAKE_CURRENT_SOURCE_DIR}/include/lzo/lzodefs.h")
+
+# /***********************************************************************
+# // "make install"
+# ************************************************************************/
-set(doc_DATA AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT)
-set(pkginclude_HEADERS
- include/lzo/lzo1.h include/lzo/lzo1a.h include/lzo/lzo1b.h
+if(DEFINED CMAKE_INSTALL_FULL_LIBDIR)
+
+set(f AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT)
+install(FILES ${f} DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}")
+
+set(f include/lzo/lzo1.h include/lzo/lzo1a.h include/lzo/lzo1b.h
include/lzo/lzo1c.h include/lzo/lzo1f.h include/lzo/lzo1x.h
include/lzo/lzo1y.h include/lzo/lzo1z.h include/lzo/lzo2a.h
include/lzo/lzo_asm.h include/lzo/lzoconf.h include/lzo/lzodefs.h
include/lzo/lzoutil.h
)
+install(FILES ${f} DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/lzo")
-install(FILES ${doc_DATA} DESTINATION "${install_doc_subdir}")
-install(FILES ${pkginclude_HEADERS} DESTINATION "${install_include_subdir}")
if(ENABLE_STATIC)
- install(TARGETS lzo_static DESTINATION "${install_lib_subdir}")
+ install(TARGETS lzo_static_lib ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")
endif()
if(ENABLE_SHARED)
- install(TARGETS lzo_shared DESTINATION "${install_lib_subdir}")
+ install(TARGETS lzo_shared_lib
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}"
+ )
endif()
-if(0)
- set(lzo_EXAMPLES lzopack lzotest simple)
- if(NOT ENABLE_STATIC)
- set(d "${CMAKE_INSTALL_PREFIX}/${install_lib_subdir}")
- set_target_properties(${lzo_EXAMPLES} PROPERTIES INSTALL_RPATH "${d}")
- endif()
- install(TARGETS ${lzo_EXAMPLES} DESTINATION "${install_examples_subdir}")
+
+if(1)
+ set(f lzopack lzotest simple testmini) # examples
+ install(TARGETS ${f} DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lzo/examples")
+endif()
+
+if(PKG_CONFIG_FOUND)
+ configure_file(lzo2.pc.cmakein lzo2.pc @ONLY)
+ #if(EXISTS "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lzo2.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
+ #endif()
+endif()
+
+endif() # CMAKE_INSTALL_FULL_LIBDIR
+
+if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.maint.txt")
+include("${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.maint.txt")
+endif()
+
+# finally print some info about the build-type
+if(CMAKE_CONFIGURATION_TYPES)
+message(STATUS "CMAKE_CONFIGURATION_TYPES = ${CMAKE_CONFIGURATION_TYPES}")
+endif()
+if(CMAKE_BUILD_TYPE)
+message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
endif()
# vim:set ft=cmake ts=4 sw=4 tw=0 et:
diff --git a/main/lzo/Makefile b/main/lzo/Makefile
deleted file mode 100644
index a9bbba9a..00000000
--- a/main/lzo/Makefile
+++ /dev/null
@@ -1,679 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-srcdir = .
-top_srcdir = .
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.hin \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- THANKS autoconf/compile autoconf/config.guess \
- autoconf/config.rpath autoconf/config.sub autoconf/depcomp \
- autoconf/install-sh autoconf/ltmain.sh autoconf/mdate-sh \
- autoconf/missing autoconf/mkinstalldirs autoconf/py-compile \
- autoconf/ylwrap
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-AUTOMAKE_OPTIONS = 1.9.6 gnu
-SUBDIRS = include src lzotest examples tests minilzo
-EXTRA_DIST = BUGS
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
- cd $(srcdir) && $(AUTOMAKE) --gnu \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.hin $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.hin: # $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.hin $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.hin $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/autoconf
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$(top_distdir)" distdir="$(distdir)" \
- dist-hook
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
- check-am check-local clean clean-generic clean-libtool \
- clean-recursive ctags ctags-recursive dist dist-all dist-bzip2 \
- dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
- distclean distclean-generic distclean-hdr distclean-libtool \
- distclean-recursive distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-recursive mostlyclean mostlyclean-generic \
- mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am uninstall-info-am
-
-
-# /***********************************************************************
-# // automake targets
-# ************************************************************************/
-
-dist-hook:
- -rm -rf "./$(distdir)/autoconf/"
- cp -pR $(srcdir)/B/ $(srcdir)/asm/ $(srcdir)/autoconf/ $(srcdir)/doc/ $(srcdir)/util/ "$(distdir)/"
- -rm -f `find "./$(distdir)/" -type l -print`
- -rm -f ./$(distdir)/util/*.dat
-
-check-local: all-am
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
- @echo
- @echo "All checks passed."
- @echo
-
-# /***********************************************************************
-# // special targets
-# ************************************************************************/
-
-basic-test: all
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
-
-test: all
- ./lzotest/lzotest -mavail -n10 -q $(top_srcdir)/COPYING
- $(SHELL) -e $(top_srcdir)/util/check.sh $(top_srcdir)
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
- @echo
- @echo "All tests passed. Now you are ready to install LZO."
- @echo
-
-#-include $(top_srcdir)/Makefile.maint
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/Makefile.am b/main/lzo/Makefile.am
index 8365cab4..e4d383b1 100644
--- a/main/lzo/Makefile.am
+++ b/main/lzo/Makefile.am
@@ -3,8 +3,9 @@
# Makefile --- Makefile for building the LZO library
#
# This file is part of the LZO data compression library.
+# http://www.oberhumer.com/opensource/lzo/
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
# All Rights Reserved.
#
@@ -13,6 +14,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
LDADD = src/liblzo2.la
lib_LTLIBRARIES =
noinst_PROGRAMS =
+pkgconfig_DATA = lzo2.pc
##/***********************************************************************
@@ -20,35 +22,35 @@ noinst_PROGRAMS =
##************************************************************************/
doc_DATA = AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT
-EXTRA_DIST += BUGS CMakeLists.txt autoconf/shtool
+EXTRA_DIST += BUGS CMakeLists.txt lzo2.pc.cmakein autoconf/shtool
# hooks for Automake targets
dist-hook: dist-hook-1
dist-hook-1:
- cp -pR $(srcdir)/B/ $(srcdir)/asm/ $(srcdir)/doc/ $(srcdir)/util/ "$(distdir)/"
+ cp -pR '$(srcdir)/B/' '$(srcdir)/asm/' '$(srcdir)/doc/' '$(srcdir)/util/' '$(distdir)/'
-rm -f $(distdir)/util/*.dat
check-local: all-am
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
+ ./lzotest/lzotest$(EXEEXT) -mlzo -n2 -q '$(top_srcdir)/COPYING'
@echo
@echo "===== All checks passed. Type 'make test' for more exhaustive testing. ====="
@echo
# special targets
basic-test: all
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
+ ./lzotest/lzotest$(EXEEXT) -mlzo -n2 -q '$(top_srcdir)/COPYING'
+ ./tests/align$(EXEEXT)
+ ./tests/chksum$(EXEEXT)
+ ./examples/simple$(EXEEXT)
+ ./minilzo/testmini$(EXEEXT)
test: all
- ./lzotest/lzotest -mavail -n10 -q $(top_srcdir)/COPYING
- LZOTEST=./lzotest/lzotest$(EXEEXT) $(SHELL) -e "$(top_srcdir)/util/check.sh" "$(top_srcdir)"
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
+ ./lzotest/lzotest$(EXEEXT) -mavail -n10 -q '$(top_srcdir)/COPYING'
+ LZOTEST=./lzotest/lzotest$(EXEEXT) $(SHELL) '$(top_srcdir)/util/check.sh' '$(top_srcdir)'
+ ./tests/align$(EXEEXT)
+ ./tests/chksum$(EXEEXT)
+ ./examples/simple$(EXEEXT)
+ ./minilzo/testmini$(EXEEXT)
@echo
@echo "===== All tests passed. Now you are ready to install LZO. ====="
@echo
diff --git a/main/lzo/Makefile.in b/main/lzo/Makefile.in
index a88e6a81..dd71d85f 100644
--- a/main/lzo/Makefile.in
+++ b/main/lzo/Makefile.in
@@ -18,8 +18,9 @@
# Makefile --- Makefile for building the LZO library
#
# This file is part of the LZO data compression library.
+# http://www.oberhumer.com/opensource/lzo/
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
# All Rights Reserved.
#
@@ -119,7 +120,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_FILES = lzo2.pc
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -149,7 +150,7 @@ am__uninstall_files_from_dir = { \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \
- "$(DESTDIR)$(pkgincludedir)"
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
src_liblzo2_la_DEPENDENCIES = $(LZO_ASM_OBJECTS)
am__dirstamp = $(am__leading_dot)dirstamp
@@ -298,7 +299,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-DATA = $(doc_DATA)
+DATA = $(doc_DATA) $(pkgconfig_DATA)
HEADERS = $(pkginclude_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.hin
@@ -323,7 +324,8 @@ CTAGS = ctags
CSCOPE = cscope
AM_RECURSIVE_TARGETS = cscope
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.hin \
- $(top_srcdir)/autoconf/ar-lib $(top_srcdir)/autoconf/compile \
+ $(srcdir)/lzo2.pc.in $(top_srcdir)/autoconf/ar-lib \
+ $(top_srcdir)/autoconf/compile \
$(top_srcdir)/autoconf/config.guess \
$(top_srcdir)/autoconf/config.sub \
$(top_srcdir)/autoconf/depcomp \
@@ -460,6 +462,7 @@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
+pkgconfigdir = @pkgconfigdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
@@ -475,23 +478,25 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-EXTRA_DIST = BUGS CMakeLists.txt autoconf/shtool src/compr1b.h \
- src/compr1c.h src/config1.h src/config1a.h src/config1b.h \
- src/config1c.h src/config1f.h src/config1x.h src/config1y.h \
- src/config1z.h src/config2a.h src/lzo1_cm.ch src/lzo1_d.ch \
- src/lzo1a_cm.ch src/lzo1a_cr.ch src/lzo1a_de.h src/lzo1b_c.ch \
- src/lzo1b_cc.h src/lzo1b_cm.ch src/lzo1b_cr.ch src/lzo1b_d.ch \
- src/lzo1b_de.h src/lzo1b_r.ch src/lzo1b_sm.ch src/lzo1b_tm.ch \
- src/lzo1c_cc.h src/lzo1f_d.ch src/lzo1x_c.ch src/lzo1x_d.ch \
- src/lzo1x_oo.ch src/lzo2a_d.ch src/lzo_conf.h src/lzo_dict.h \
- src/lzo_dll.ch src/lzo_func.h src/lzo_mchw.ch src/lzo_ptr.h \
- src/lzo_supp.h src/lzo_swd.ch src/stats1a.h src/stats1b.h \
- src/stats1c.h examples/portab.h examples/portab_a.h \
- lzotest/asm.h lzotest/db.h lzotest/wrap.h lzotest/wrapmisc.h \
- minilzo/Makefile.minilzo minilzo/README.LZO minilzo/minilzo.h
+EXTRA_DIST = BUGS CMakeLists.txt lzo2.pc.cmakein autoconf/shtool \
+ src/compr1b.h src/compr1c.h src/config1.h src/config1a.h \
+ src/config1b.h src/config1c.h src/config1f.h src/config1x.h \
+ src/config1y.h src/config1z.h src/config2a.h src/lzo1_cm.ch \
+ src/lzo1_d.ch src/lzo1a_cm.ch src/lzo1a_cr.ch src/lzo1a_de.h \
+ src/lzo1b_c.ch src/lzo1b_cc.h src/lzo1b_cm.ch src/lzo1b_cr.ch \
+ src/lzo1b_d.ch src/lzo1b_de.h src/lzo1b_r.ch src/lzo1b_sm.ch \
+ src/lzo1b_tm.ch src/lzo1c_cc.h src/lzo1f_d.ch src/lzo1x_c.ch \
+ src/lzo1x_d.ch src/lzo1x_oo.ch src/lzo2a_d.ch src/lzo_conf.h \
+ src/lzo_dict.h src/lzo_dll.ch src/lzo_func.h src/lzo_mchw.ch \
+ src/lzo_ptr.h src/lzo_supp.h src/lzo_swd.ch src/stats1a.h \
+ src/stats1b.h src/stats1c.h examples/portab.h \
+ examples/portab_a.h lzotest/asm.h lzotest/db.h lzotest/wrap.h \
+ lzotest/wrapmisc.h minilzo/Makefile.minilzo minilzo/README.LZO \
+ minilzo/minilzo.h
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)
LDADD = src/liblzo2.la
lib_LTLIBRARIES = src/liblzo2.la
+pkgconfig_DATA = lzo2.pc
doc_DATA = AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT
pkginclude_HEADERS = \
include/lzo/lzo1.h include/lzo/lzo1a.h include/lzo/lzo1b.h \
@@ -610,6 +615,8 @@ $(srcdir)/config.hin: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
+lzo2.pc: $(top_builddir)/config.status $(srcdir)/lzo2.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@@ -1059,6 +1066,27 @@ uninstall-docDATA:
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-pkgincludeHEADERS: $(pkginclude_HEADERS)
@$(NORMAL_INSTALL)
@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
@@ -1312,7 +1340,7 @@ check: check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \
config.h
installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgincludedir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(pkgincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1381,7 +1409,8 @@ info: info-am
info-am:
-install-data-am: install-docDATA install-pkgincludeHEADERS
+install-data-am: install-docDATA install-pkgconfigDATA \
+ install-pkgincludeHEADERS
install-dvi: install-dvi-am
@@ -1430,7 +1459,7 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-docDATA uninstall-libLTLIBRARIES \
- uninstall-pkgincludeHEADERS
+ uninstall-pkgconfigDATA uninstall-pkgincludeHEADERS
.MAKE: all check-am install-am install-strip
@@ -1447,13 +1476,13 @@ uninstall-am: uninstall-docDATA uninstall-libLTLIBRARIES \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am \
install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-pkgincludeHEADERS install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-docDATA uninstall-libLTLIBRARIES \
- uninstall-pkgincludeHEADERS
+ install-pkgconfigDATA install-pkgincludeHEADERS install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-docDATA uninstall-libLTLIBRARIES \
+ uninstall-pkgconfigDATA uninstall-pkgincludeHEADERS
.PRECIOUS: Makefile
@@ -1461,30 +1490,30 @@ uninstall-am: uninstall-docDATA uninstall-libLTLIBRARIES \
# hooks for Automake targets
dist-hook: dist-hook-1
dist-hook-1:
- cp -pR $(srcdir)/B/ $(srcdir)/asm/ $(srcdir)/doc/ $(srcdir)/util/ "$(distdir)/"
+ cp -pR '$(srcdir)/B/' '$(srcdir)/asm/' '$(srcdir)/doc/' '$(srcdir)/util/' '$(distdir)/'
-rm -f $(distdir)/util/*.dat
check-local: all-am
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
+ ./lzotest/lzotest$(EXEEXT) -mlzo -n2 -q '$(top_srcdir)/COPYING'
@echo
@echo "===== All checks passed. Type 'make test' for more exhaustive testing. ====="
@echo
# special targets
basic-test: all
- ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
+ ./lzotest/lzotest$(EXEEXT) -mlzo -n2 -q '$(top_srcdir)/COPYING'
+ ./tests/align$(EXEEXT)
+ ./tests/chksum$(EXEEXT)
+ ./examples/simple$(EXEEXT)
+ ./minilzo/testmini$(EXEEXT)
test: all
- ./lzotest/lzotest -mavail -n10 -q $(top_srcdir)/COPYING
- LZOTEST=./lzotest/lzotest$(EXEEXT) $(SHELL) -e "$(top_srcdir)/util/check.sh" "$(top_srcdir)"
- ./tests/align
- ./tests/chksum
- ./examples/simple
- ./minilzo/testmini
+ ./lzotest/lzotest$(EXEEXT) -mavail -n10 -q '$(top_srcdir)/COPYING'
+ LZOTEST=./lzotest/lzotest$(EXEEXT) $(SHELL) '$(top_srcdir)/util/check.sh' '$(top_srcdir)'
+ ./tests/align$(EXEEXT)
+ ./tests/chksum$(EXEEXT)
+ ./examples/simple$(EXEEXT)
+ ./minilzo/testmini$(EXEEXT)
@echo
@echo "===== All tests passed. Now you are ready to install LZO. ====="
@echo
diff --git a/main/lzo/NEWS b/main/lzo/NEWS
index 80da4ea3..4c2bbda0 100644
--- a/main/lzo/NEWS
+++ b/main/lzo/NEWS
@@ -2,6 +2,12 @@
User visible changes for LZO -- a real-time data compression library
============================================================================
+Changes in 2.10 (01 Mar 2017)
+ * Improve CMake build support.
+ * Add support for pkg-config.
+ * Do not redefine "snprintf" so that the examples build with MSVC 2015.
+ * Assorted cleanups.
+
Changes in 2.09 (04 Feb 2015)
* Work around gcc bug #64516 that could affect architectures like
armv4, armv5 and sparc.
@@ -16,10 +22,10 @@ Changes in 2.07 (25 Jun 2014)
variants which could result in a possible buffer overrun when
processing maliciously crafted compressed input data.
- Fortunately this issue only affects 32-bit systems and also can only happen
+ Note that this issue only affects 32-bit systems and also can only happen
if you use uncommonly huge buffer sizes where you have to decompress more
- than 16 MiB (> 2^24 bytes) untrusted compressed bytes within a single
- function call, so the practical implications are limited.
+ than 16 MiB (> 2^24 bytes) untrusted compressed bytes within a
+ *single* function call, so the practical implications are limited.
POTENTIAL SECURITY ISSUE. CVE-2014-4607.
diff --git a/main/lzo/README.ANDROID b/main/lzo/README.ANDROID
deleted file mode 100644
index 6d463a52..00000000
--- a/main/lzo/README.ANDROID
+++ /dev/null
@@ -1,3 +0,0 @@
-
-2009-09-09 Android port of liblzo needed by openvpn
- fries@desert.lnp.org
diff --git a/main/lzo/aclocal.m4 b/main/lzo/aclocal.m4
index 9db4ce90..1f3e24f5 100644
--- a/main/lzo/aclocal.m4
+++ b/main/lzo/aclocal.m4
@@ -20,6 +20,221 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
+
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
# Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc.
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1c_s2.o b/main/lzo/asm/i386/obj/coff32/lzo1c_s2.o
deleted file mode 100644
index 6a3fdf9f..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1c_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1f_f2.o b/main/lzo/asm/i386/obj/coff32/lzo1f_f2.o
deleted file mode 100644
index 79b5727f..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1f_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1x_f2.o b/main/lzo/asm/i386/obj/coff32/lzo1x_f2.o
deleted file mode 100644
index 3476817b..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1x_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1x_s2.o b/main/lzo/asm/i386/obj/coff32/lzo1x_s2.o
deleted file mode 100644
index f45ef13a..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1x_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1y_f2.o b/main/lzo/asm/i386/obj/coff32/lzo1y_f2.o
deleted file mode 100644
index 0ed51177..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1y_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/coff32/lzo1y_s2.o b/main/lzo/asm/i386/obj/coff32/lzo1y_s2.o
deleted file mode 100644
index efc08299..00000000
--- a/main/lzo/asm/i386/obj/coff32/lzo1y_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1c_s1.o b/main/lzo/asm/i386/obj/elf32/lzo1c_s1.o
index 59f320eb..eb4429e2 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1c_s1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1c_s1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1c_s2.o b/main/lzo/asm/i386/obj/elf32/lzo1c_s2.o
deleted file mode 100644
index 90622c99..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1c_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1f_f1.o b/main/lzo/asm/i386/obj/elf32/lzo1f_f1.o
index 064b1c53..3134a85f 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1f_f1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1f_f1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1f_f2.o b/main/lzo/asm/i386/obj/elf32/lzo1f_f2.o
deleted file mode 100644
index f70f7909..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1f_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1x_f1.o b/main/lzo/asm/i386/obj/elf32/lzo1x_f1.o
index 470fb753..fc96ecce 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1x_f1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1x_f1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1x_f2.o b/main/lzo/asm/i386/obj/elf32/lzo1x_f2.o
deleted file mode 100644
index bb2e720c..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1x_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1x_s1.o b/main/lzo/asm/i386/obj/elf32/lzo1x_s1.o
index 8483013b..817386dd 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1x_s1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1x_s1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1x_s2.o b/main/lzo/asm/i386/obj/elf32/lzo1x_s2.o
deleted file mode 100644
index ce5dfc47..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1x_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1y_f1.o b/main/lzo/asm/i386/obj/elf32/lzo1y_f1.o
index 5ac4a8fd..15300e80 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1y_f1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1y_f1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1y_f2.o b/main/lzo/asm/i386/obj/elf32/lzo1y_f2.o
deleted file mode 100644
index 4d510760..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1y_f2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1y_s1.o b/main/lzo/asm/i386/obj/elf32/lzo1y_s1.o
index eb265ab8..2fdd42e4 100644
--- a/main/lzo/asm/i386/obj/elf32/lzo1y_s1.o
+++ b/main/lzo/asm/i386/obj/elf32/lzo1y_s1.o
Binary files differ
diff --git a/main/lzo/asm/i386/obj/elf32/lzo1y_s2.o b/main/lzo/asm/i386/obj/elf32/lzo1y_s2.o
deleted file mode 100644
index 691d4094..00000000
--- a/main/lzo/asm/i386/obj/elf32/lzo1y_s2.o
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1c_s2.obj b/main/lzo/asm/i386/obj/omf32/lzo1c_s2.obj
deleted file mode 100644
index 77118989..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1c_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1f_f2.obj b/main/lzo/asm/i386/obj/omf32/lzo1f_f2.obj
deleted file mode 100644
index 7d117984..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1f_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1x_f2.obj b/main/lzo/asm/i386/obj/omf32/lzo1x_f2.obj
deleted file mode 100644
index b3f6364e..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1x_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1x_s2.obj b/main/lzo/asm/i386/obj/omf32/lzo1x_s2.obj
deleted file mode 100644
index 8af7727a..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1x_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1y_f2.obj b/main/lzo/asm/i386/obj/omf32/lzo1y_f2.obj
deleted file mode 100644
index 0dde89a2..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1y_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/omf32/lzo1y_s2.obj b/main/lzo/asm/i386/obj/omf32/lzo1y_s2.obj
deleted file mode 100644
index 85f6b811..00000000
--- a/main/lzo/asm/i386/obj/omf32/lzo1y_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1c_s1.obj b/main/lzo/asm/i386/obj/win32/lzo1c_s1.obj
index ef6189c7..b9703e8c 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1c_s1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1c_s1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1c_s2.obj b/main/lzo/asm/i386/obj/win32/lzo1c_s2.obj
deleted file mode 100644
index a67fd5c5..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1c_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1f_f1.obj b/main/lzo/asm/i386/obj/win32/lzo1f_f1.obj
index 83bafa91..e0c0295f 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1f_f1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1f_f1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1f_f2.obj b/main/lzo/asm/i386/obj/win32/lzo1f_f2.obj
deleted file mode 100644
index 7c6263ac..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1f_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1x_f1.obj b/main/lzo/asm/i386/obj/win32/lzo1x_f1.obj
index 83dc586a..c6c1f806 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1x_f1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1x_f1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1x_f2.obj b/main/lzo/asm/i386/obj/win32/lzo1x_f2.obj
deleted file mode 100644
index 6307e9ef..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1x_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1x_s1.obj b/main/lzo/asm/i386/obj/win32/lzo1x_s1.obj
index dff65d3b..b95eb969 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1x_s1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1x_s1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1x_s2.obj b/main/lzo/asm/i386/obj/win32/lzo1x_s2.obj
deleted file mode 100644
index c19f527f..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1x_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1y_f1.obj b/main/lzo/asm/i386/obj/win32/lzo1y_f1.obj
index 5c0d1c2d..30827912 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1y_f1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1y_f1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1y_f2.obj b/main/lzo/asm/i386/obj/win32/lzo1y_f2.obj
deleted file mode 100644
index 75640fdd..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1y_f2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1y_s1.obj b/main/lzo/asm/i386/obj/win32/lzo1y_s1.obj
index 68c5d30d..1c34c7be 100644
--- a/main/lzo/asm/i386/obj/win32/lzo1y_s1.obj
+++ b/main/lzo/asm/i386/obj/win32/lzo1y_s1.obj
Binary files differ
diff --git a/main/lzo/asm/i386/obj/win32/lzo1y_s2.obj b/main/lzo/asm/i386/obj/win32/lzo1y_s2.obj
deleted file mode 100644
index 38b025ee..00000000
--- a/main/lzo/asm/i386/obj/win32/lzo1y_s2.obj
+++ /dev/null
Binary files differ
diff --git a/main/lzo/asm/i386/src/enter.ash b/main/lzo/asm/i386/src/enter.ash
index fbfc9b8b..cc5941b9 100644
--- a/main/lzo/asm/i386/src/enter.ash
+++ b/main/lzo/asm/i386/src/enter.ash
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/leave.ash b/main/lzo/asm/i386/src/leave.ash
index 209e2bbd..dbaeda03 100644
--- a/main/lzo/asm/i386/src/leave.ash
+++ b/main/lzo/asm/i386/src/leave.ash
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1c_d.ash b/main/lzo/asm/i386/src/lzo1c_d.ash
index d373ed26..0d410243 100644
--- a/main/lzo/asm/i386/src/lzo1c_d.ash
+++ b/main/lzo/asm/i386/src/lzo1c_d.ash
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1c_s1.S b/main/lzo/asm/i386/src/lzo1c_s1.S
index 2de44637..03ca397b 100644
--- a/main/lzo/asm/i386/src/lzo1c_s1.S
+++ b/main/lzo/asm/i386/src/lzo1c_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1c_s2.S b/main/lzo/asm/i386/src/lzo1c_s2.S
deleted file mode 100644
index f874002e..00000000
--- a/main/lzo/asm/i386/src/lzo1c_s2.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* lzo1c_s2.S -- LZO1C decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1c_decompress_asm_safe)
-
-#include "enter.ash"
-#include "lzo1c_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1c_decompress_asm_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo1f_d.ash b/main/lzo/asm/i386/src/lzo1f_d.ash
index edbe0a6a..99093f68 100644
--- a/main/lzo/asm/i386/src/lzo1f_d.ash
+++ b/main/lzo/asm/i386/src/lzo1f_d.ash
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1f_f1.S b/main/lzo/asm/i386/src/lzo1f_f1.S
index b77c8943..212b62f4 100644
--- a/main/lzo/asm/i386/src/lzo1f_f1.S
+++ b/main/lzo/asm/i386/src/lzo1f_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1f_f2.S b/main/lzo/asm/i386/src/lzo1f_f2.S
deleted file mode 100644
index 904a5f31..00000000
--- a/main/lzo/asm/i386/src/lzo1f_f2.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* lzo1f_f2.S -- fast LZO1F decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1f_decompress_asm_fast_safe)
-
-#include "enter.ash"
-#include "lzo1f_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1f_decompress_asm_fast_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo1x_d.ash b/main/lzo/asm/i386/src/lzo1x_d.ash
index 35d1ca4f..4635a2ad 100644
--- a/main/lzo/asm/i386/src/lzo1x_d.ash
+++ b/main/lzo/asm/i386/src/lzo1x_d.ash
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1x_f1.S b/main/lzo/asm/i386/src/lzo1x_f1.S
index 20810526..4f02add5 100644
--- a/main/lzo/asm/i386/src/lzo1x_f1.S
+++ b/main/lzo/asm/i386/src/lzo1x_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1x_f2.S b/main/lzo/asm/i386/src/lzo1x_f2.S
deleted file mode 100644
index f9ad6b32..00000000
--- a/main/lzo/asm/i386/src/lzo1x_f2.S
+++ /dev/null
@@ -1,70 +0,0 @@
-/* lzo1x_f2.S -- fast LZO1X decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_FAST
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1x_decompress_asm_fast_safe)
-
-#include "enter.ash"
-#include "lzo1x_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1x_decompress_asm_fast_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo1x_s1.S b/main/lzo/asm/i386/src/lzo1x_s1.S
index c034d7a3..d706fc2a 100644
--- a/main/lzo/asm/i386/src/lzo1x_s1.S
+++ b/main/lzo/asm/i386/src/lzo1x_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1x_s2.S b/main/lzo/asm/i386/src/lzo1x_s2.S
deleted file mode 100644
index aaa294de..00000000
--- a/main/lzo/asm/i386/src/lzo1x_s2.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* lzo1x_s2.S -- LZO1X decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1x_decompress_asm_safe)
-
-#include "enter.ash"
-#include "lzo1x_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1x_decompress_asm_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo1y_f1.S b/main/lzo/asm/i386/src/lzo1y_f1.S
index 2fbd0228..2982c32d 100644
--- a/main/lzo/asm/i386/src/lzo1y_f1.S
+++ b/main/lzo/asm/i386/src/lzo1y_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1y_f2.S b/main/lzo/asm/i386/src/lzo1y_f2.S
deleted file mode 100644
index 2dace850..00000000
--- a/main/lzo/asm/i386/src/lzo1y_f2.S
+++ /dev/null
@@ -1,72 +0,0 @@
-/* lzo1y_f2.S -- fast LZO1Y decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_FAST
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1y_decompress_asm_fast_safe)
-
-#define LZO1Y
-
-#include "enter.ash"
-#include "lzo1x_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1y_decompress_asm_fast_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo1y_s1.S b/main/lzo/asm/i386/src/lzo1y_s1.S
index 245a8f7a..ddf8574a 100644
--- a/main/lzo/asm/i386/src/lzo1y_s1.S
+++ b/main/lzo/asm/i386/src/lzo1y_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src/lzo1y_s2.S b/main/lzo/asm/i386/src/lzo1y_s2.S
deleted file mode 100644
index 238c762e..00000000
--- a/main/lzo/asm/i386/src/lzo1y_s2.S
+++ /dev/null
@@ -1,70 +0,0 @@
-/* lzo1y_s2.S -- LZO1Y decompression in assembler (i386 + gcc)
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/***********************************************************************
-//
-************************************************************************/
-
-#define LZO_TEST_DECOMPRESS_OVERRUN_INPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT
-#define LZO_TEST_DECOMPRESS_OVERRUN_LOOKBEHIND
-
-#include "lzo_asm.h"
-
- .text
-
- LZO_PUBLIC(lzo1y_decompress_asm_safe)
-
-#define LZO1Y
-
-#include "enter.ash"
-#include "lzo1x_d.ash"
-#include "leave.ash"
-
- LZO_PUBLIC_END(lzo1y_decompress_asm_safe)
-
-
-/*
-vi:ts=4
-*/
-
diff --git a/main/lzo/asm/i386/src/lzo_asm.h b/main/lzo/asm/i386/src/lzo_asm.h
index 538b4089..7227b31a 100644
--- a/main/lzo/asm/i386/src/lzo_asm.h
+++ b/main/lzo/asm/i386/src/lzo_asm.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/all/asm_all.S b/main/lzo/asm/i386/src_gas/all/asm_all.S
index 730ed07a..8aa67cbe 100644
--- a/main/lzo/asm/i386/src_gas/all/asm_all.S
+++ b/main/lzo/asm/i386/src_gas/all/asm_all.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -27,17 +27,31 @@
/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
+#undef _
#ifndef NAME1
-#if (defined(__MACH__) && defined(__APPLE__))
+#if defined(__ELF__)
+# define NAME1(a) a
+#elif (defined(__MACH__) && defined(__APPLE__))
+# define NAME1(a) _ ## a
+#elif defined(_WIN32) && !defined(_WIN64)
# define NAME1(a) _ ## a
+#elif defined(_WIN64)
+# define NAME1(a) a
#else
# define NAME1(a) _ ## a
# define NAME2(a) a
#endif
#endif
+#define XNAME(a,b,c) LZO_PP_ECONCAT3(NAME1(a),b,c)
#ifndef LZO_PP_CONCAT2
# define LZO_PP_CONCAT2(a,b) a ## b
#endif
+#ifndef LZO_PP_CONCAT3
+# define LZO_PP_CONCAT3(a,b,c) a ## b ## c
+#endif
+#ifndef LZO_PP_ECONCAT3
+# define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
+#endif
#ifndef p2align
# define p2align(a) .p2align a
#endif
@@ -50,38 +64,38 @@
# elif (defined(__MACH__) && defined(__APPLE__))
# define hiddenf(a) .private_extern a
# else
-# define hiddenf(a)
+# define hiddenf(a)
# endif
#endif
#ifndef typef
# if defined(__ELF__)
# define typef(a) .type a,@function
# else
-# define typef(a)
+# define typef(a)
# endif
#endif
#ifndef sizef
# if defined(__ELF__)
# define sizef(a,b) .size a,b
# else
-# define sizef(a,b)
+# define sizef(a,b)
# endif
#endif
#if defined(__ELF__)
.section .note.GNU-stack,"",@progbits
#endif
.text
-#if defined(_WIN32) || defined(__WIN32__)
-# if defined(LZO_WIN32_FEAT_00)
-# LZO_WIN32_FEAT_00
-# else
+#if defined(_WIN32) && !defined(_WIN64)
+#if defined(LZO_WIN32_FEAT_00)
+LZO_WIN32_FEAT_00
+#else
#if defined(__GNUC__) && !defined(__clang__)
.globl @feat.00
#endif
@feat.00 = 1
-# endif
#endif
-#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(__WIN64__)
+#endif
+#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(_WIN64)
p2align(6)
#else
p2align(4)
diff --git a/main/lzo/asm/i386/src_gas/asminit.def b/main/lzo/asm/i386/src_gas/asminit.def
index 257190d0..0f1859ef 100644
--- a/main/lzo/asm/i386/src_gas/asminit.def
+++ b/main/lzo/asm/i386/src_gas/asminit.def
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -25,18 +25,32 @@
http://www.oberhumer.com/opensource/lzo/
*/
+#undef _
#ifndef NAME1
-#if (defined(__MACH__) && defined(__APPLE__))
+#if defined(__ELF__)
+# define NAME1(a) a
+#elif (defined(__MACH__) && defined(__APPLE__))
+# define NAME1(a) _ ## a
+#elif defined(_WIN32) && !defined(_WIN64)
# define NAME1(a) _ ## a
+#elif defined(_WIN64)
+# define NAME1(a) a
#else
# define NAME1(a) _ ## a
# define NAME2(a) a
#endif
#endif
+#define XNAME(a,b,c) LZO_PP_ECONCAT3(NAME1(a),b,c)
#ifndef LZO_PP_CONCAT2
# define LZO_PP_CONCAT2(a,b) a ## b
#endif
+#ifndef LZO_PP_CONCAT3
+# define LZO_PP_CONCAT3(a,b,c) a ## b ## c
+#endif
+#ifndef LZO_PP_ECONCAT3
+# define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
+#endif
#ifndef p2align
# define p2align(a) .p2align a
@@ -50,21 +64,21 @@
# elif (defined(__MACH__) && defined(__APPLE__))
# define hiddenf(a) .private_extern a
# else
-# define hiddenf(a)
+# define hiddenf(a) /*empty*/
# endif
#endif
#ifndef typef
# if defined(__ELF__)
# define typef(a) .type a,@function
# else
-# define typef(a)
+# define typef(a) /*empty*/
# endif
#endif
#ifndef sizef
# if defined(__ELF__)
# define sizef(a,b) .size a,b
# else
-# define sizef(a,b)
+# define sizef(a,b) /*empty*/
# endif
#endif
@@ -72,17 +86,17 @@
.section .note.GNU-stack,"",@progbits
#endif
.text
-#if defined(_WIN32) || defined(__WIN32__)
-# if defined(LZO_WIN32_FEAT_00)
-# LZO_WIN32_FEAT_00
-# else
+#if defined(_WIN32) && !defined(_WIN64)
+#if defined(LZO_WIN32_FEAT_00)
+LZO_WIN32_FEAT_00
+#else
#if defined(__GNUC__) && !defined(__clang__)
.globl @feat.00
#endif
@feat.00 = 1
-# endif
#endif
-#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(__WIN64__)
+#endif
+#if defined(__ELF__) || (defined(__MACH__) && defined(__APPLE__)) || defined(_WIN32) || defined(_WIN64)
p2align(6)
#else
p2align(4)
diff --git a/main/lzo/asm/i386/src_gas/lzo1c_s1.S b/main/lzo/asm/i386/src_gas/lzo1c_s1.S
index 4f15ca8f..374e60f0 100644
--- a/main/lzo/asm/i386/src_gas/lzo1c_s1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1c_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1c_s2.S b/main/lzo/asm/i386/src_gas/lzo1c_s2.S
deleted file mode 100644
index 1797cc34..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1c_s2.S
+++ /dev/null
@@ -1,98 +0,0 @@
-/* lzo1c_s2.S -- lzo1c_decompress_asm_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1c_decompress_asm_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1c_decompress_asm_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1c_decompress_asm_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1c_decompress_asm_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1c_decompress_asm_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1c_decompress_asm_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,32,115,40,8,192,116,99,137,193,141
-db 28,15,57,28,36,15,130,107,1,0,0,141,28,14,57,92
-db 36,4,15,130,87,1,0,0,243,164,138,6,70,60,32,114
-db 127,60,64,15,130,169,0,0,0,137,193,36,31,141,87,255
-db 193,233,5,41,194,138,6,70,193,224,5,41,194,65,135,242
-db 59,116,36,48,15,130,51,1,0,0,141,28,15,57,28,36
-db 15,130,32,1,0,0,243,164,137,214,235,148,141,116,38,0
-db 138,6,70,141,72,32,60,248,114,149,185,24,1,0,0,44
-db 248,116,6,145,48,192,211,224,145,141,28,15,57,28,36,15
-db 130,241,0,0,0,141,28,14,57,92,36,4,15,130,221,0
-db 0,0,243,164,233,87,255,255,255,141,180,38,0,0,0,0
-db 141,87,255,41,194,138,6,70,193,224,5,41,194,135,242,59
-db 116,36,48,15,130,196,0,0,0,141,95,4,57,28,36,15
-db 130,177,0,0,0,164,164,164,137,214,164,49,192,233,72,255
-db 255,255,36,31,137,193,117,26,177,31,138,6,70,8,192,117
-db 15,129,193,255,0,0,0,235,241,141,180,38,0,0,0,0
-db 1,193,138,6,70,137,195,36,63,137,250,41,194,138,6,70
-db 193,224,6,41,194,57,250,116,41,135,214,141,73,3,59,116
-db 36,48,114,105,141,4,15,57,4,36,114,90,243,164,137,214
-db 49,192,193,235,6,137,217,15,133,210,254,255,255,233,190,254
-db 255,255,131,249,1,15,149,192,59,60,36,119,57,139,84,36
-db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
-db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
-db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
-db 4,0,0,0,235,213,184,5,0,0,0,235,206,184,6,0
-db 0,0,235,199,141,182,0,0,0,0,141,191,0,0,0,0
-#ifdef NAME1
-sizef(NAME1(lzo1c_decompress_asm_safe),.-NAME1(lzo1c_decompress_asm_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1c_decompress_asm_safe),.-NAME2(lzo1c_decompress_asm_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_gas/lzo1f_f1.S b/main/lzo/asm/i386/src_gas/lzo1f_f1.S
index a2c3c4e4..4c5427bb 100644
--- a/main/lzo/asm/i386/src_gas/lzo1f_f1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1f_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1f_f2.S b/main/lzo/asm/i386/src_gas/lzo1f_f2.S
deleted file mode 100644
index f2041bc7..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1f_f2.S
+++ /dev/null
@@ -1,96 +0,0 @@
-/* lzo1f_f2.S -- lzo1f_decompress_asm_fast_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1f_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1f_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1f_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1f_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1f_decompress_asm_fast_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1f_decompress_asm_fast_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,31,119,76,8,192,137,193,117,19,138
-db 6,70,8,192,117,8,129,193,255,0,0,0,235,241,141,76
-db 8,31,141,28,15,57,28,36,15,130,61,1,0,0,141,28
-db 14,57,92,36,4,15,130,41,1,0,0,136,200,193,233,2
-db 243,165,36,3,116,8,139,30,1,198,137,31,1,199,138,6
-db 70,60,31,118,110,60,223,15,135,179,0,0,0,137,193,193
-db 232,2,141,87,255,36,7,193,233,5,137,195,138,6,141,4
-db 195,70,41,194,131,193,2,135,214,59,116,36,48,15,130,239
-db 0,0,0,141,28,15,57,28,36,15,130,220,0,0,0,131
-db 249,6,114,16,131,248,4,114,11,136,200,193,233,2,243,165
-db 36,3,136,193,243,164,137,214,138,78,254,131,225,3,15,132
-db 76,255,255,255,139,6,1,206,137,7,1,207,49,192,138,6
-db 70,235,142,141,87,3,57,20,36,15,130,156,0,0,0,193
-db 232,2,141,151,255,247,255,255,137,193,138,6,70,141,4,193
-db 41,194,59,84,36,48,15,130,134,0,0,0,139,2,137,7
-db 131,199,3,235,179,138,6,70,8,192,117,8,129,193,255,0
-db 0,0,235,241,141,76,8,31,235,12,141,182,0,0,0,0
-db 36,31,137,193,116,223,137,250,102,139,6,131,198,2,193,232
-db 2,15,133,75,255,255,255,131,249,1,15,149,192,59,60,36
-db 119,57,139,84,36,40,3,84,36,44,57,214,119,38,114,29
-db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
-db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
-db 0,0,235,220,184,4,0,0,0,235,213,184,5,0,0,0
-db 235,206,184,6,0,0,0,235,199,141,180,38,0,0,0,0
-#ifdef NAME1
-sizef(NAME1(lzo1f_decompress_asm_fast_safe),.-NAME1(lzo1f_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1f_decompress_asm_fast_safe),.-NAME2(lzo1f_decompress_asm_fast_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_gas/lzo1x_f1.S b/main/lzo/asm/i386/src_gas/lzo1x_f1.S
index 8e2bcc9e..9ca92c34 100644
--- a/main/lzo/asm/i386/src_gas/lzo1x_f1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1x_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1x_f2.S b/main/lzo/asm/i386/src_gas/lzo1x_f2.S
deleted file mode 100644
index 0ded30ee..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1x_f2.S
+++ /dev/null
@@ -1,112 +0,0 @@
-/* lzo1x_f2.S -- lzo1x_decompress_asm_fast_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1x_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1x_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1x_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1x_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1x_decompress_asm_fast_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1x_decompress_asm_fast_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,247,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,131,224,7,138,30,193,233,5,141,4,216,70
-db 41,194,131,193,4,57,232,115,73,233,170,0,0,0,5,255
-db 0,0,0,141,86,3,57,84,36,4,15,130,123,1,0,0
-db 138,30,70,8,219,116,231,141,76,24,36,49,192,235,17,144
-db 60,32,15,130,200,0,0,0,131,224,31,116,227,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-#ifdef NAME1
-sizef(NAME1(lzo1x_decompress_asm_fast_safe),.-NAME1(lzo1x_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1x_decompress_asm_fast_safe),.-NAME2(lzo1x_decompress_asm_fast_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_gas/lzo1x_s1.S b/main/lzo/asm/i386/src_gas/lzo1x_s1.S
index ed43092b..3e31c182 100644
--- a/main/lzo/asm/i386/src_gas/lzo1x_s1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1x_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1x_s2.S b/main/lzo/asm/i386/src_gas/lzo1x_s2.S
deleted file mode 100644
index 46d60aa0..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1x_s2.S
+++ /dev/null
@@ -1,115 +0,0 @@
-/* lzo1x_s2.S -- lzo1x_decompress_asm_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1x_decompress_asm_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1x_decompress_asm_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1x_decompress_asm_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1x_decompress_asm_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1x_decompress_asm_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1x_decompress_asm_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,247,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,131,224,7,138
-db 30,193,233,5,141,4,216,70,41,194,65,57,232,115,75,233
-db 180,0,0,0,5,255,0,0,0,141,86,3,57,84,36,4
-db 15,130,125,1,0,0,138,30,70,8,219,116,231,141,76,24
-db 33,49,192,235,19,141,118,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,225,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-#ifdef NAME1
-sizef(NAME1(lzo1x_decompress_asm_safe),.-NAME1(lzo1x_decompress_asm_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1x_decompress_asm_safe),.-NAME2(lzo1x_decompress_asm_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_gas/lzo1y_f1.S b/main/lzo/asm/i386/src_gas/lzo1y_f1.S
index 32ee007a..b3129c39 100644
--- a/main/lzo/asm/i386/src_gas/lzo1y_f1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1y_f1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1y_f2.S b/main/lzo/asm/i386/src_gas/lzo1y_f2.S
deleted file mode 100644
index de28ace9..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1y_f2.S
+++ /dev/null
@@ -1,112 +0,0 @@
-/* lzo1y_f2.S -- lzo1y_decompress_asm_fast_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1y_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1y_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1y_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1y_decompress_asm_fast_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1y_decompress_asm_fast_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1y_decompress_asm_fast_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,251,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,33,232,138,30,193,233,4,141,4,152,70,41
-db 194,131,193,2,57,232,115,74,233,171,0,0,0,5,255,0
-db 0,0,141,86,3,57,84,36,4,15,130,124,1,0,0,138
-db 30,70,8,219,116,231,141,76,24,36,49,192,235,18,137,246
-db 60,32,15,130,200,0,0,0,131,224,31,116,226,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-#ifdef NAME1
-sizef(NAME1(lzo1y_decompress_asm_fast_safe),.-NAME1(lzo1y_decompress_asm_fast_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1y_decompress_asm_fast_safe),.-NAME2(lzo1y_decompress_asm_fast_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_gas/lzo1y_s1.S b/main/lzo/asm/i386/src_gas/lzo1y_s1.S
index 6a52bbbc..c67db49d 100644
--- a/main/lzo/asm/i386/src_gas/lzo1y_s1.S
+++ b/main/lzo/asm/i386/src_gas/lzo1y_s1.S
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_gas/lzo1y_s2.S b/main/lzo/asm/i386/src_gas/lzo1y_s2.S
deleted file mode 100644
index 4da81a3c..00000000
--- a/main/lzo/asm/i386/src_gas/lzo1y_s2.S
+++ /dev/null
@@ -1,115 +0,0 @@
-/* lzo1y_s2.S -- lzo1y_decompress_asm_safe
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-/***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-#include "asminit.def"
-#ifdef NAME1
-typef(NAME1(lzo1y_decompress_asm_safe))
-#endif
-#ifdef NAME2
-typef(NAME2(lzo1y_decompress_asm_safe))
-#endif
-#ifdef NAME1
-globalf(NAME1(lzo1y_decompress_asm_safe))
-#endif
-#ifdef NAME2
-globalf(NAME2(lzo1y_decompress_asm_safe))
-#endif
-#ifdef NAME1
-NAME1(lzo1y_decompress_asm_safe):
-#endif
-#ifdef NAME2
-NAME2(lzo1y_decompress_asm_safe):
-#endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,251,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,33,232,138,30
-db 193,233,4,141,4,152,70,41,194,73,57,232,115,76,233,181
-db 0,0,0,5,255,0,0,0,141,86,3,57,84,36,4,15
-db 130,126,1,0,0,138,30,70,8,219,116,231,141,76,24,33
-db 49,192,235,20,141,116,38,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,224,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-#ifdef NAME1
-sizef(NAME1(lzo1y_decompress_asm_safe),.-NAME1(lzo1y_decompress_asm_safe))
-#endif
-#ifdef NAME2
-sizef(NAME2(lzo1y_decompress_asm_safe),.-NAME2(lzo1y_decompress_asm_safe))
-#endif
diff --git a/main/lzo/asm/i386/src_masm/all/asm_all.asm b/main/lzo/asm/i386/src_masm/all/asm_all.asm
index bda48d44..58ae4708 100644
--- a/main/lzo/asm/i386/src_masm/all/asm_all.asm
+++ b/main/lzo/asm/i386/src_masm/all/asm_all.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/asminit.def b/main/lzo/asm/i386/src_masm/asminit.def
index 749eb9b5..5754d787 100644
--- a/main/lzo/asm/i386/src_masm/asminit.def
+++ b/main/lzo/asm/i386/src_masm/asminit.def
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1c_s1.asm b/main/lzo/asm/i386/src_masm/lzo1c_s1.asm
index f9418df3..67016e35 100644
--- a/main/lzo/asm/i386/src_masm/lzo1c_s1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1c_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1c_s2.asm b/main/lzo/asm/i386/src_masm/lzo1c_s2.asm
deleted file mode 100644
index 08dfb401..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1c_s2.asm
+++ /dev/null
@@ -1,77 +0,0 @@
-; lzo1c_s2.asm -- lzo1c_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1c_decompress_asm_safe
-_lzo1c_decompress_asm_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,32,115,40,8,192,116,99,137,193,141
-db 28,15,57,28,36,15,130,107,1,0,0,141,28,14,57,92
-db 36,4,15,130,87,1,0,0,243,164,138,6,70,60,32,114
-db 127,60,64,15,130,169,0,0,0,137,193,36,31,141,87,255
-db 193,233,5,41,194,138,6,70,193,224,5,41,194,65,135,242
-db 59,116,36,48,15,130,51,1,0,0,141,28,15,57,28,36
-db 15,130,32,1,0,0,243,164,137,214,235,148,141,116,38,0
-db 138,6,70,141,72,32,60,248,114,149,185,24,1,0,0,44
-db 248,116,6,145,48,192,211,224,145,141,28,15,57,28,36,15
-db 130,241,0,0,0,141,28,14,57,92,36,4,15,130,221,0
-db 0,0,243,164,233,87,255,255,255,141,180,38,0,0,0,0
-db 141,87,255,41,194,138,6,70,193,224,5,41,194,135,242,59
-db 116,36,48,15,130,196,0,0,0,141,95,4,57,28,36,15
-db 130,177,0,0,0,164,164,164,137,214,164,49,192,233,72,255
-db 255,255,36,31,137,193,117,26,177,31,138,6,70,8,192,117
-db 15,129,193,255,0,0,0,235,241,141,180,38,0,0,0,0
-db 1,193,138,6,70,137,195,36,63,137,250,41,194,138,6,70
-db 193,224,6,41,194,57,250,116,41,135,214,141,73,3,59,116
-db 36,48,114,105,141,4,15,57,4,36,114,90,243,164,137,214
-db 49,192,193,235,6,137,217,15,133,210,254,255,255,233,190,254
-db 255,255,131,249,1,15,149,192,59,60,36,119,57,139,84,36
-db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
-db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
-db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
-db 4,0,0,0,235,213,184,5,0,0,0,235,206,184,6,0
-db 0,0,235,199,141,182,0,0,0,0,141,191,0,0,0,0
-end
diff --git a/main/lzo/asm/i386/src_masm/lzo1f_f1.asm b/main/lzo/asm/i386/src_masm/lzo1f_f1.asm
index ec51f0ba..f1252af9 100644
--- a/main/lzo/asm/i386/src_masm/lzo1f_f1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1f_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1f_f2.asm b/main/lzo/asm/i386/src_masm/lzo1f_f2.asm
deleted file mode 100644
index 7ec00573..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1f_f2.asm
+++ /dev/null
@@ -1,75 +0,0 @@
-; lzo1f_f2.asm -- lzo1f_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1f_decompress_asm_fast_safe
-_lzo1f_decompress_asm_fast_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,31,119,76,8,192,137,193,117,19,138
-db 6,70,8,192,117,8,129,193,255,0,0,0,235,241,141,76
-db 8,31,141,28,15,57,28,36,15,130,61,1,0,0,141,28
-db 14,57,92,36,4,15,130,41,1,0,0,136,200,193,233,2
-db 243,165,36,3,116,8,139,30,1,198,137,31,1,199,138,6
-db 70,60,31,118,110,60,223,15,135,179,0,0,0,137,193,193
-db 232,2,141,87,255,36,7,193,233,5,137,195,138,6,141,4
-db 195,70,41,194,131,193,2,135,214,59,116,36,48,15,130,239
-db 0,0,0,141,28,15,57,28,36,15,130,220,0,0,0,131
-db 249,6,114,16,131,248,4,114,11,136,200,193,233,2,243,165
-db 36,3,136,193,243,164,137,214,138,78,254,131,225,3,15,132
-db 76,255,255,255,139,6,1,206,137,7,1,207,49,192,138,6
-db 70,235,142,141,87,3,57,20,36,15,130,156,0,0,0,193
-db 232,2,141,151,255,247,255,255,137,193,138,6,70,141,4,193
-db 41,194,59,84,36,48,15,130,134,0,0,0,139,2,137,7
-db 131,199,3,235,179,138,6,70,8,192,117,8,129,193,255,0
-db 0,0,235,241,141,76,8,31,235,12,141,182,0,0,0,0
-db 36,31,137,193,116,223,137,250,102,139,6,131,198,2,193,232
-db 2,15,133,75,255,255,255,131,249,1,15,149,192,59,60,36
-db 119,57,139,84,36,40,3,84,36,44,57,214,119,38,114,29
-db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
-db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
-db 0,0,235,220,184,4,0,0,0,235,213,184,5,0,0,0
-db 235,206,184,6,0,0,0,235,199,141,180,38,0,0,0,0
-end
diff --git a/main/lzo/asm/i386/src_masm/lzo1x_f1.asm b/main/lzo/asm/i386/src_masm/lzo1x_f1.asm
index efe2f040..95feaa21 100644
--- a/main/lzo/asm/i386/src_masm/lzo1x_f1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1x_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1x_f2.asm b/main/lzo/asm/i386/src_masm/lzo1x_f2.asm
deleted file mode 100644
index 5994e2de..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1x_f2.asm
+++ /dev/null
@@ -1,91 +0,0 @@
-; lzo1x_f2.asm -- lzo1x_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1x_decompress_asm_fast_safe
-_lzo1x_decompress_asm_fast_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,247,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,131,224,7,138,30,193,233,5,141,4,216,70
-db 41,194,131,193,4,57,232,115,73,233,170,0,0,0,5,255
-db 0,0,0,141,86,3,57,84,36,4,15,130,123,1,0,0
-db 138,30,70,8,219,116,231,141,76,24,36,49,192,235,17,144
-db 60,32,15,130,200,0,0,0,131,224,31,116,227,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-end
diff --git a/main/lzo/asm/i386/src_masm/lzo1x_s1.asm b/main/lzo/asm/i386/src_masm/lzo1x_s1.asm
index 1c31acc5..4af988a3 100644
--- a/main/lzo/asm/i386/src_masm/lzo1x_s1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1x_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1x_s2.asm b/main/lzo/asm/i386/src_masm/lzo1x_s2.asm
deleted file mode 100644
index 7316e55b..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1x_s2.asm
+++ /dev/null
@@ -1,94 +0,0 @@
-; lzo1x_s2.asm -- lzo1x_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1x_decompress_asm_safe
-_lzo1x_decompress_asm_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,247,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,131,224,7,138
-db 30,193,233,5,141,4,216,70,41,194,65,57,232,115,75,233
-db 180,0,0,0,5,255,0,0,0,141,86,3,57,84,36,4
-db 15,130,125,1,0,0,138,30,70,8,219,116,231,141,76,24
-db 33,49,192,235,19,141,118,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,225,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-end
diff --git a/main/lzo/asm/i386/src_masm/lzo1y_f1.asm b/main/lzo/asm/i386/src_masm/lzo1y_f1.asm
index f111ccb5..d86112ac 100644
--- a/main/lzo/asm/i386/src_masm/lzo1y_f1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1y_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1y_f2.asm b/main/lzo/asm/i386/src_masm/lzo1y_f2.asm
deleted file mode 100644
index daf67e5a..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1y_f2.asm
+++ /dev/null
@@ -1,91 +0,0 @@
-; lzo1y_f2.asm -- lzo1y_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1y_decompress_asm_fast_safe
-_lzo1y_decompress_asm_fast_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,251,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,33,232,138,30,193,233,4,141,4,152,70,41
-db 194,131,193,2,57,232,115,74,233,171,0,0,0,5,255,0
-db 0,0,141,86,3,57,84,36,4,15,130,124,1,0,0,138
-db 30,70,8,219,116,231,141,76,24,36,49,192,235,18,137,246
-db 60,32,15,130,200,0,0,0,131,224,31,116,226,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-end
diff --git a/main/lzo/asm/i386/src_masm/lzo1y_s1.asm b/main/lzo/asm/i386/src_masm/lzo1y_s1.asm
index c7779489..3c4ab481 100644
--- a/main/lzo/asm/i386/src_masm/lzo1y_s1.asm
+++ b/main/lzo/asm/i386/src_masm/lzo1y_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_masm/lzo1y_s2.asm b/main/lzo/asm/i386/src_masm/lzo1y_s2.asm
deleted file mode 100644
index c7ac80e2..00000000
--- a/main/lzo/asm/i386/src_masm/lzo1y_s2.asm
+++ /dev/null
@@ -1,94 +0,0 @@
-; lzo1y_s2.asm -- lzo1y_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-include asminit.def
-public _lzo1y_decompress_asm_safe
-_lzo1y_decompress_asm_safe:
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,251,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,33,232,138,30
-db 193,233,4,141,4,152,70,41,194,73,57,232,115,76,233,181
-db 0,0,0,5,255,0,0,0,141,86,3,57,84,36,4,15
-db 130,126,1,0,0,138,30,70,8,219,116,231,141,76,24,33
-db 49,192,235,20,141,116,38,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,224,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-end
diff --git a/main/lzo/asm/i386/src_nasm/all/asm_all.asm b/main/lzo/asm/i386/src_nasm/all/asm_all.asm
index f453e626..87260c08 100644
--- a/main/lzo/asm/i386/src_nasm/all/asm_all.asm
+++ b/main/lzo/asm/i386/src_nasm/all/asm_all.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
@@ -50,10 +50,18 @@ bits 32
%endif
%endif
%ifndef NAME1
-%ifidni __OUTPUT_FORMAT__,macho32
+%ifidni __OUTPUT_FORMAT__,elf32
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,elf64
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,macho32
%define NAME1(a) _ %+ a
%elifidni __OUTPUT_FORMAT__,macho64
%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win64
+%define NAME1(a) a
%else
%define NAME1(a) _ %+ a
%define NAME2(a) a
diff --git a/main/lzo/asm/i386/src_nasm/asminit.def b/main/lzo/asm/i386/src_nasm/asminit.def
index 773cf997..db792afc 100644
--- a/main/lzo/asm/i386/src_nasm/asminit.def
+++ b/main/lzo/asm/i386/src_nasm/asminit.def
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
@@ -49,10 +49,18 @@ bits 32
%endif
%ifndef NAME1
-%ifidni __OUTPUT_FORMAT__,macho32
+%ifidni __OUTPUT_FORMAT__,elf32
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,elf64
+%define NAME1(a) a
+%elifidni __OUTPUT_FORMAT__,macho32
%define NAME1(a) _ %+ a
%elifidni __OUTPUT_FORMAT__,macho64
%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win32
+%define NAME1(a) _ %+ a
+%elifidni __OUTPUT_FORMAT__,win64
+%define NAME1(a) a
%else
%define NAME1(a) _ %+ a
%define NAME2(a) a
diff --git a/main/lzo/asm/i386/src_nasm/lzo1c_s1.asm b/main/lzo/asm/i386/src_nasm/lzo1c_s1.asm
index 982b4745..cb408e0d 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1c_s1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1c_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1c_s2.asm b/main/lzo/asm/i386/src_nasm/lzo1c_s2.asm
deleted file mode 100644
index 89fa7367..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1c_s2.asm
+++ /dev/null
@@ -1,92 +0,0 @@
-; lzo1c_s2.asm -- lzo1c_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1c_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1c_decompress_asm_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1c_decompress_asm_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1c_decompress_asm_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,32,115,40,8,192,116,99,137,193,141
-db 28,15,57,28,36,15,130,107,1,0,0,141,28,14,57,92
-db 36,4,15,130,87,1,0,0,243,164,138,6,70,60,32,114
-db 127,60,64,15,130,169,0,0,0,137,193,36,31,141,87,255
-db 193,233,5,41,194,138,6,70,193,224,5,41,194,65,135,242
-db 59,116,36,48,15,130,51,1,0,0,141,28,15,57,28,36
-db 15,130,32,1,0,0,243,164,137,214,235,148,141,116,38,0
-db 138,6,70,141,72,32,60,248,114,149,185,24,1,0,0,44
-db 248,116,6,145,48,192,211,224,145,141,28,15,57,28,36,15
-db 130,241,0,0,0,141,28,14,57,92,36,4,15,130,221,0
-db 0,0,243,164,233,87,255,255,255,141,180,38,0,0,0,0
-db 141,87,255,41,194,138,6,70,193,224,5,41,194,135,242,59
-db 116,36,48,15,130,196,0,0,0,141,95,4,57,28,36,15
-db 130,177,0,0,0,164,164,164,137,214,164,49,192,233,72,255
-db 255,255,36,31,137,193,117,26,177,31,138,6,70,8,192,117
-db 15,129,193,255,0,0,0,235,241,141,180,38,0,0,0,0
-db 1,193,138,6,70,137,195,36,63,137,250,41,194,138,6,70
-db 193,224,6,41,194,57,250,116,41,135,214,141,73,3,59,116
-db 36,48,114,105,141,4,15,57,4,36,114,90,243,164,137,214
-db 49,192,193,235,6,137,217,15,133,210,254,255,255,233,190,254
-db 255,255,131,249,1,15,149,192,59,60,36,119,57,139,84,36
-db 40,3,84,36,44,57,214,119,38,114,29,43,124,36,48,139
-db 84,36,52,137,58,247,216,131,196,12,90,89,91,94,95,93
-db 195,184,1,0,0,0,235,227,184,8,0,0,0,235,220,184
-db 4,0,0,0,235,213,184,5,0,0,0,235,206,184,6,0
-db 0,0,235,199,141,182,0,0,0,0,141,191,0,0,0,0
-%ifdef NAME1
-globalf_end(NAME1(lzo1c_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1c_decompress_asm_safe))
-%endif
diff --git a/main/lzo/asm/i386/src_nasm/lzo1f_f1.asm b/main/lzo/asm/i386/src_nasm/lzo1f_f1.asm
index ccf37ed7..ebad1fd7 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1f_f1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1f_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1f_f2.asm b/main/lzo/asm/i386/src_nasm/lzo1f_f2.asm
deleted file mode 100644
index 70d6f36b..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1f_f2.asm
+++ /dev/null
@@ -1,90 +0,0 @@
-; lzo1f_f2.asm -- lzo1f_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1f_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1f_decompress_asm_fast_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1f_decompress_asm_fast_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1f_decompress_asm_fast_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,141,118,0
-db 49,192,138,6,70,60,31,119,76,8,192,137,193,117,19,138
-db 6,70,8,192,117,8,129,193,255,0,0,0,235,241,141,76
-db 8,31,141,28,15,57,28,36,15,130,61,1,0,0,141,28
-db 14,57,92,36,4,15,130,41,1,0,0,136,200,193,233,2
-db 243,165,36,3,116,8,139,30,1,198,137,31,1,199,138,6
-db 70,60,31,118,110,60,223,15,135,179,0,0,0,137,193,193
-db 232,2,141,87,255,36,7,193,233,5,137,195,138,6,141,4
-db 195,70,41,194,131,193,2,135,214,59,116,36,48,15,130,239
-db 0,0,0,141,28,15,57,28,36,15,130,220,0,0,0,131
-db 249,6,114,16,131,248,4,114,11,136,200,193,233,2,243,165
-db 36,3,136,193,243,164,137,214,138,78,254,131,225,3,15,132
-db 76,255,255,255,139,6,1,206,137,7,1,207,49,192,138,6
-db 70,235,142,141,87,3,57,20,36,15,130,156,0,0,0,193
-db 232,2,141,151,255,247,255,255,137,193,138,6,70,141,4,193
-db 41,194,59,84,36,48,15,130,134,0,0,0,139,2,137,7
-db 131,199,3,235,179,138,6,70,8,192,117,8,129,193,255,0
-db 0,0,235,241,141,76,8,31,235,12,141,182,0,0,0,0
-db 36,31,137,193,116,223,137,250,102,139,6,131,198,2,193,232
-db 2,15,133,75,255,255,255,131,249,1,15,149,192,59,60,36
-db 119,57,139,84,36,40,3,84,36,44,57,214,119,38,114,29
-db 43,124,36,48,139,84,36,52,137,58,247,216,131,196,12,90
-db 89,91,94,95,93,195,184,1,0,0,0,235,227,184,8,0
-db 0,0,235,220,184,4,0,0,0,235,213,184,5,0,0,0
-db 235,206,184,6,0,0,0,235,199,141,180,38,0,0,0,0
-%ifdef NAME1
-globalf_end(NAME1(lzo1f_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1f_decompress_asm_fast_safe))
-%endif
diff --git a/main/lzo/asm/i386/src_nasm/lzo1x_f1.asm b/main/lzo/asm/i386/src_nasm/lzo1x_f1.asm
index e269caa0..e5594740 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1x_f1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1x_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1x_f2.asm b/main/lzo/asm/i386/src_nasm/lzo1x_f2.asm
deleted file mode 100644
index ada1b886..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1x_f2.asm
+++ /dev/null
@@ -1,106 +0,0 @@
-; lzo1x_f2.asm -- lzo1x_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1x_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1x_decompress_asm_fast_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1x_decompress_asm_fast_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1x_decompress_asm_fast_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,247,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,131,224,7,138,30,193,233,5,141,4,216,70
-db 41,194,131,193,4,57,232,115,73,233,170,0,0,0,5,255
-db 0,0,0,141,86,3,57,84,36,4,15,130,123,1,0,0
-db 138,30,70,8,219,116,231,141,76,24,36,49,192,235,17,144
-db 60,32,15,130,200,0,0,0,131,224,31,116,227,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-%ifdef NAME1
-globalf_end(NAME1(lzo1x_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1x_decompress_asm_fast_safe))
-%endif
diff --git a/main/lzo/asm/i386/src_nasm/lzo1x_s1.asm b/main/lzo/asm/i386/src_nasm/lzo1x_s1.asm
index ad054be1..cd4cb71d 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1x_s1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1x_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1x_s2.asm b/main/lzo/asm/i386/src_nasm/lzo1x_s2.asm
deleted file mode 100644
index 5c655583..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1x_s2.asm
+++ /dev/null
@@ -1,109 +0,0 @@
-; lzo1x_s2.asm -- lzo1x_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1x_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1x_decompress_asm_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1x_decompress_asm_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1x_decompress_asm_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,247,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,131,224,7,138
-db 30,193,233,5,141,4,216,70,41,194,65,57,232,115,75,233
-db 180,0,0,0,5,255,0,0,0,141,86,3,57,84,36,4
-db 15,130,125,1,0,0,138,30,70,8,219,116,231,141,76,24
-db 33,49,192,235,19,141,118,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,225,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-%ifdef NAME1
-globalf_end(NAME1(lzo1x_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1x_decompress_asm_safe))
-%endif
diff --git a/main/lzo/asm/i386/src_nasm/lzo1y_f1.asm b/main/lzo/asm/i386/src_nasm/lzo1y_f1.asm
index ddd55fb1..6c65bb1c 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1y_f1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1y_f1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1y_f2.asm b/main/lzo/asm/i386/src_nasm/lzo1y_f2.asm
deleted file mode 100644
index 9e6b37c5..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1y_f2.asm
+++ /dev/null
@@ -1,106 +0,0 @@
-; lzo1y_f2.asm -- lzo1y_decompress_asm_fast_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1y_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1y_decompress_asm_fast_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1y_decompress_asm_fast_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1y_decompress_asm_fast_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,55,44,14,235,62,5,255,0,0,0,141
-db 84,6,18,57,84,36,4,15,130,78,2,0,0,138,30,70
-db 8,219,116,230,141,68,24,21,235,30,141,182,0,0,0,0
-db 57,116,36,4,15,130,49,2,0,0,138,6,70,60,16,115
-db 119,8,192,116,216,131,192,6,141,84,7,253,57,20,36,15
-db 130,29,2,0,0,141,84,6,253,57,84,36,4,15,130,8
-db 2,0,0,137,193,49,232,193,233,2,33,232,139,22,131,198
-db 4,137,23,131,199,4,73,117,243,41,198,41,199,138,6,70
-db 60,16,115,52,141,87,3,57,20,36,15,130,226,1,0,0
-db 193,232,2,138,30,141,151,255,251,255,255,141,4,152,70,41
-db 194,59,84,36,48,15,130,206,1,0,0,139,10,137,15,1
-db 239,233,151,0,0,0,137,246,60,64,114,68,137,193,193,232
-db 2,141,87,255,33,232,138,30,193,233,4,141,4,152,70,41
-db 194,131,193,2,57,232,115,74,233,171,0,0,0,5,255,0
-db 0,0,141,86,3,57,84,36,4,15,130,124,1,0,0,138
-db 30,70,8,219,116,231,141,76,24,36,49,192,235,18,137,246
-db 60,32,15,130,200,0,0,0,131,224,31,116,226,141,72,5
-db 102,139,6,141,87,255,193,232,2,131,198,2,41,194,57,232
-db 114,102,59,84,36,48,15,130,77,1,0,0,141,68,15,253
-db 193,233,2,57,4,36,15,130,54,1,0,0,139,26,131,194
-db 4,137,31,131,199,4,73,117,243,137,199,49,219,138,70,254
-db 33,232,15,132,216,254,255,255,141,20,7,57,20,36,15,130
-db 14,1,0,0,141,20,6,57,84,36,4,15,130,250,0,0
-db 0,139,22,1,198,137,23,1,199,138,6,70,233,55,255,255
-db 255,141,180,38,0,0,0,0,59,84,36,48,15,130,231,0
-db 0,0,141,68,15,253,57,4,36,15,130,211,0,0,0,135
-db 214,41,233,243,164,137,214,235,164,129,193,255,0,0,0,141
-db 86,3,57,84,36,4,15,130,175,0,0,0,138,30,70,8
-db 219,116,230,141,76,11,12,235,27,141,180,38,0,0,0,0
-db 60,16,114,44,137,193,131,224,8,193,224,13,131,225,7,116
-db 219,131,193,5,102,139,6,131,198,2,141,151,0,192,255,255
-db 193,232,2,116,57,41,194,233,38,255,255,255,141,116,38,0
-db 141,87,2,57,20,36,114,106,193,232,2,138,30,141,87,255
-db 141,4,152,70,41,194,59,84,36,48,114,93,138,2,136,7
-db 138,90,1,136,95,1,131,199,2,233,31,255,255,255,131,249
-db 6,15,149,192,59,60,36,119,57,139,84,36,40,3,84,36
-db 44,57,214,119,38,114,29,43,124,36,48,139,84,36,52,137
-db 58,247,216,131,196,12,90,89,91,94,95,93,195,184,1,0
-db 0,0,235,227,184,8,0,0,0,235,220,184,4,0,0,0
-db 235,213,184,5,0,0,0,235,206,184,6,0,0,0,235,199
-%ifdef NAME1
-globalf_end(NAME1(lzo1y_decompress_asm_fast_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1y_decompress_asm_fast_safe))
-%endif
diff --git a/main/lzo/asm/i386/src_nasm/lzo1y_s1.asm b/main/lzo/asm/i386/src_nasm/lzo1y_s1.asm
index ce880041..08aeec31 100644
--- a/main/lzo/asm/i386/src_nasm/lzo1y_s1.asm
+++ b/main/lzo/asm/i386/src_nasm/lzo1y_s1.asm
@@ -2,7 +2,7 @@
;
; This file is part of the LZO real-time data compression library.
;
-; Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+; Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
; All Rights Reserved.
;
; The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/asm/i386/src_nasm/lzo1y_s2.asm b/main/lzo/asm/i386/src_nasm/lzo1y_s2.asm
deleted file mode 100644
index 065508cb..00000000
--- a/main/lzo/asm/i386/src_nasm/lzo1y_s2.asm
+++ /dev/null
@@ -1,109 +0,0 @@
-; lzo1y_s2.asm -- lzo1y_decompress_asm_safe
-;
-; This file is part of the LZO real-time data compression library.
-;
-; Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
-; Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
-; All Rights Reserved.
-;
-; The LZO library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU General Public License as
-; published by the Free Software Foundation; either version 2 of
-; the License, or (at your option) any later version.
-;
-; The LZO library is distributed in the hope that it will be useful,
-; but WITHOUT ANY WARRANTY; without even the implied warranty of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-; GNU General Public License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with the LZO library; see the file COPYING.
-; If not, write to the Free Software Foundation, Inc.,
-; 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;
-; Markus F.X.J. Oberhumer
-; <markus@oberhumer.com>
-; http://www.oberhumer.com/opensource/lzo/
-;
-
-; /***** DO NOT EDIT - GENERATED AUTOMATICALLY *****/
-
-%include "asminit.def"
-%ifdef NAME1
-globalf(NAME1(lzo1y_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf(NAME2(lzo1y_decompress_asm_safe))
-%endif
-%ifdef NAME1
-NAME1(lzo1y_decompress_asm_safe):
-%endif
-%ifdef NAME2
-NAME2(lzo1y_decompress_asm_safe):
-%endif
-db 85,87,86,83,81,82,131,236,12,252,139,116,36,40,139,124
-db 36,48,189,3,0,0,0,141,70,253,3,68,36,44,137,68
-db 36,4,137,248,139,84,36,52,3,2,137,4,36,49,192,49
-db 219,172,60,17,118,87,44,17,60,4,115,92,141,20,7,57
-db 20,36,15,130,130,2,0,0,141,20,6,57,84,36,4,15
-db 130,110,2,0,0,137,193,235,110,5,255,0,0,0,141,84
-db 6,18,57,84,36,4,15,130,87,2,0,0,138,30,70,8
-db 219,116,230,141,68,24,18,235,31,141,180,38,0,0,0,0
-db 57,116,36,4,15,130,57,2,0,0,138,6,70,60,16,115
-db 127,8,192,116,215,131,192,3,141,84,7,0,57,20,36,15
-db 130,37,2,0,0,141,84,6,0,57,84,36,4,15,130,16
-db 2,0,0,137,193,193,232,2,33,233,139,22,131,198,4,137
-db 23,131,199,4,72,117,243,243,164,138,6,70,60,16,115,64
-db 141,87,3,57,20,36,15,130,238,1,0,0,193,232,2,138
-db 30,141,151,255,251,255,255,141,4,152,70,41,194,59,84,36
-db 48,15,130,218,1,0,0,138,2,136,7,138,66,1,136,71
-db 1,138,66,2,136,71,2,1,239,233,163,0,0,0,137,246
-db 60,64,114,68,137,193,193,232,2,141,87,255,33,232,138,30
-db 193,233,4,141,4,152,70,41,194,73,57,232,115,76,233,181
-db 0,0,0,5,255,0,0,0,141,86,3,57,84,36,4,15
-db 130,126,1,0,0,138,30,70,8,219,116,231,141,76,24,33
-db 49,192,235,20,141,116,38,0,60,32,15,130,200,0,0,0
-db 131,224,31,116,224,141,72,2,102,139,6,141,87,255,193,232
-db 2,131,198,2,41,194,57,232,114,110,59,84,36,48,15,130
-db 77,1,0,0,141,4,15,57,4,36,15,130,58,1,0,0
-db 137,203,193,235,2,116,17,139,2,131,194,4,137,7,131,199
-db 4,75,117,243,33,233,116,9,138,2,66,136,7,71,73,117
-db 247,138,70,254,33,232,15,132,196,254,255,255,141,20,7,57
-db 20,36,15,130,2,1,0,0,141,20,6,57,84,36,4,15
-db 130,238,0,0,0,138,14,70,136,15,71,72,117,247,138,6
-db 70,233,42,255,255,255,137,246,59,84,36,48,15,130,223,0
-db 0,0,141,68,15,0,57,4,36,15,130,203,0,0,0,135
-db 214,243,164,137,214,235,170,129,193,255,0,0,0,141,86,3
-db 57,84,36,4,15,130,169,0,0,0,138,30,70,8,219,116
-db 230,141,76,11,9,235,21,144,60,16,114,44,137,193,131,224
-db 8,193,224,13,131,225,7,116,225,131,193,2,102,139,6,131
-db 198,2,141,151,0,192,255,255,193,232,2,116,57,41,194,233
-db 38,255,255,255,141,116,38,0,141,87,2,57,20,36,114,106
-db 193,232,2,138,30,141,87,255,141,4,152,70,41,194,59,84
-db 36,48,114,93,138,2,136,7,138,90,1,136,95,1,131,199
-db 2,233,43,255,255,255,131,249,3,15,149,192,59,60,36,119
-db 57,139,84,36,40,3,84,36,44,57,214,119,38,114,29,43
-db 124,36,48,139,84,36,52,137,58,247,216,131,196,12,90,89
-db 91,94,95,93,195,184,1,0,0,0,235,227,184,8,0,0
-db 0,235,220,184,4,0,0,0,235,213,184,5,0,0,0,235
-db 206,184,6,0,0,0,235,199,144,141,180,38,0,0,0,0
-%ifdef NAME1
-globalf_end(NAME1(lzo1y_decompress_asm_safe))
-%endif
-%ifdef NAME2
-globalf_end(NAME2(lzo1y_decompress_asm_safe))
-%endif
diff --git a/main/lzo/autoconf/ar-lib b/main/lzo/autoconf/ar-lib
index 1700c5ed..05094d34 100755
--- a/main/lzo/autoconf/ar-lib
+++ b/main/lzo/autoconf/ar-lib
@@ -4,7 +4,7 @@
me=ar-lib
scriptversion=2012-03-01.08; # UTC
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# Copyright (C) 2010-2017 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
diff --git a/main/lzo/autoconf/compile b/main/lzo/autoconf/compile
index 69fad9c9..2ab71e4e 100755
--- a/main/lzo/autoconf/compile
+++ b/main/lzo/autoconf/compile
@@ -1,9 +1,9 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion"
exit $?
;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
@@ -342,6 +343,6 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/config.guess b/main/lzo/autoconf/config.guess
index dbfb9786..1000e2bd 100755
--- a/main/lzo/autoconf/config.guess
+++ b/main/lzo/autoconf/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2017-02-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-01-01'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches@gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
+ # to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ os=netbsdelf
+ ;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
@@ -235,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -251,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -359,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH="i386"
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
@@ -618,13 +642,13 @@ EOF
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
@@ -663,11 +687,11 @@ EOF
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
@@ -680,12 +704,12 @@ EOF
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -790,14 +814,14 @@ EOF
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -879,7 +903,7 @@ EOF
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
@@ -902,7 +926,7 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
@@ -933,6 +957,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -945,6 +972,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -970,6 +1000,9 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ mips64el:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
@@ -1002,6 +1035,9 @@ EOF
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
@@ -1021,7 +1057,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1100,7 +1136,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1249,6 +1285,9 @@ EOF
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1262,9 +1301,9 @@ EOF
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
@@ -1286,7 +1325,7 @@ EOF
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
@@ -1304,6 +1343,9 @@ EOF
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
+ NSX-?:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk${UNAME_RELEASE}
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
@@ -1317,7 +1359,7 @@ EOF
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
@@ -1359,7 +1401,7 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
@@ -1370,23 +1412,25 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
diff --git a/main/lzo/autoconf/config.rpath b/main/lzo/autoconf/config.rpath
index a3e25c84..af3c4155 100755
--- a/main/lzo/autoconf/config.rpath
+++ b/main/lzo/autoconf/config.rpath
@@ -2,7 +2,7 @@
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
-# Copyright 1996-2015 Free Software Foundation, Inc.
+# Copyright 1996-2017 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
diff --git a/main/lzo/autoconf/config.sub b/main/lzo/autoconf/config.sub
index 6d2e94c8..87abeab6 100755
--- a/main/lzo/autoconf/config.sub
+++ b/main/lzo/autoconf/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2017-02-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-01-01'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-01-01'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,11 +254,12 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
+ | e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
@@ -301,11 +301,12 @@ case $basic_machine in
| open8 | or1k | or1knd | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +377,13 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -427,13 +429,15 @@ case $basic_machine in
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -518,6 +522,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -638,6 +645,14 @@ case $basic_machine in
basic_machine=m68k-bull
os=-sysv3
;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
@@ -933,6 +948,9 @@ case $basic_machine in
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
@@ -1017,7 +1035,7 @@ case $basic_machine in
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
+ ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
@@ -1027,7 +1045,7 @@ case $basic_machine in
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
@@ -1373,18 +1391,18 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* | -cegcc* \
+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1393,7 +1411,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1525,6 +1544,8 @@ case $os in
;;
-nacl*)
;;
+ -ios)
+ ;;
-none)
;;
*)
@@ -1620,6 +1641,9 @@ case $basic_machine in
sparc-* | *-sun)
os=-sunos4.1.1
;;
+ pru-*)
+ os=-elf
+ ;;
*-be)
os=-beos
;;
diff --git a/main/lzo/autoconf/depcomp b/main/lzo/autoconf/depcomp
index fda2463f..b6872321 100755
--- a/main/lzo/autoconf/depcomp
+++ b/main/lzo/autoconf/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2013-05-30.07; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1999-2015 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -751,6 +751,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/install-sh b/main/lzo/autoconf/install-sh
index 0b0fdcbb..0360b79e 100755
--- a/main/lzo/autoconf/install-sh
+++ b/main/lzo/autoconf/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2016-01-11.22; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -496,6 +496,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/local.m4 b/main/lzo/autoconf/local.m4
index 38754b1d..978f7dc1 100644
--- a/main/lzo/autoconf/local.m4
+++ b/main/lzo/autoconf/local.m4
@@ -193,10 +193,10 @@ case x$mfx_tmp in
esac
])
-dnl Serial 13 -*- Autoconf -*-
+dnl Serial 15 -*- Autoconf -*-
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -255,7 +255,7 @@ dnl configure.ac when using autoheader 2.62.
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
-/* Enable general extensions on OS X. */
+/* Enable general extensions on macOS. */
#ifndef _DARWIN_C_SOURCE
# undef _DARWIN_C_SOURCE
#endif
@@ -263,14 +263,38 @@ dnl configure.ac when using autoheader 2.62.
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
-/* Use GNU style printf and scanf. */
-#ifndef __USE_MINGW_ANSI_STDIO
-# undef __USE_MINGW_ANSI_STDIO
-#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# undef __STDC_WANT_IEC_60559_BFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# undef __STDC_WANT_IEC_60559_DFP_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# undef __STDC_WANT_IEC_60559_TYPES_EXT__
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
+#ifndef __STDC_WANT_LIB_EXT2__
+# undef __STDC_WANT_LIB_EXT2__
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009. */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# undef __STDC_WANT_MATH_SPEC_FUNCS__
+#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
@@ -299,8 +323,14 @@ dnl configure.ac when using autoheader 2.62.
AC_DEFINE([_ALL_SOURCE])
AC_DEFINE([_DARWIN_C_SOURCE])
AC_DEFINE([_GNU_SOURCE])
- AC_DEFINE([__USE_MINGW_ANSI_STDIO])
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
+ AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
+ AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
+ AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
+ AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
+ AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
+ AC_DEFINE([__STDC_WANT_LIB_EXT2__])
+ AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__])
AC_DEFINE([_TANDEM_SOURCE])
AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
[ac_cv_should_define__xopen_source],
@@ -555,7 +585,7 @@ AC_C_BIGENDIAN([AC_DEFINE(NRV_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is b
])
# Checks for stat-related time functions.
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2015 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2017 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
diff --git a/main/lzo/autoconf/mdate-sh b/main/lzo/autoconf/mdate-sh
index b793600a..f80075c0 100755
--- a/main/lzo/autoconf/mdate-sh
+++ b/main/lzo/autoconf/mdate-sh
@@ -1,9 +1,9 @@
#!/bin/sh
# Get modification time of a file or directory and pretty-print it.
-scriptversion=2010-08-21.06; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1995-2015 Free Software Foundation, Inc.
+# Copyright (C) 1995-2017 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -219,6 +219,6 @@ echo $day $month $year
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/missing b/main/lzo/autoconf/missing
index 3af28289..c6e37958 100755
--- a/main/lzo/autoconf/missing
+++ b/main/lzo/autoconf/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -210,6 +210,6 @@ exit $st
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/mkinstalldirs b/main/lzo/autoconf/mkinstalldirs
index 55d537f8..a31ce6d0 100755
--- a/main/lzo/autoconf/mkinstalldirs
+++ b/main/lzo/autoconf/mkinstalldirs
@@ -1,7 +1,7 @@
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2016-01-11.22; # UTC
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
@@ -157,6 +157,6 @@ exit $errstatus
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/py-compile b/main/lzo/autoconf/py-compile
index 382e0835..3693d96b 100755
--- a/main/lzo/autoconf/py-compile
+++ b/main/lzo/autoconf/py-compile
@@ -1,9 +1,9 @@
#!/bin/sh
# py-compile - Compile a Python program
-scriptversion=2011-06-08.12; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 2000-2015 Free Software Foundation, Inc.
+# Copyright (C) 2000-2017 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -165,6 +165,6 @@ sys.stdout.write('\n')" 2>/dev/null || :
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/autoconf/ylwrap b/main/lzo/autoconf/ylwrap
index 49716bbe..abac60c4 100755
--- a/main/lzo/autoconf/ylwrap
+++ b/main/lzo/autoconf/ylwrap
@@ -1,9 +1,9 @@
#! /bin/sh
# ylwrap - wrapper for lex/yacc invocations.
-scriptversion=2013-01-12.17; # UTC
+scriptversion=2016-01-11.22; # UTC
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# Written by Tom Tromey <tromey@cygnus.com>.
#
@@ -227,6 +227,6 @@ exit $ret
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:
diff --git a/main/lzo/config.h b/main/lzo/config.h
deleted file mode 100644
index ec40c7da..00000000
--- a/main/lzo/config.h
+++ /dev/null
@@ -1,365 +0,0 @@
-/* config.h. Generated by configure. */
-/* config.hin. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the `access' function. */
-#define HAVE_ACCESS 1
-
-/* Define to 1 if you have the `alloca' function. */
-/* #undef HAVE_ALLOCA */
-
-/* Define to 1 if you have the <assert.h> header file. */
-#define HAVE_ASSERT_H 1
-
-/* Define to 1 if you have the `atexit' function. */
-#define HAVE_ATEXIT 1
-
-/* Define to 1 if you have the `atoi' function. */
-#define HAVE_ATOI 1
-
-/* Define to 1 if you have the `atol' function. */
-#define HAVE_ATOL 1
-
-/* Define to 1 if you have the `chmod' function. */
-#define HAVE_CHMOD 1
-
-/* Define to 1 if you have the `chown' function. */
-#define HAVE_CHOWN 1
-
-/* Define to 1 if you have the `clock_getcpuclockid' function. */
-/* #undef HAVE_CLOCK_GETCPUCLOCKID */
-
-/* Define to 1 if you have the `clock_getres' function. */
-/* #undef HAVE_CLOCK_GETRES */
-
-/* Define to 1 if you have the `clock_gettime' function. */
-/* #undef HAVE_CLOCK_GETTIME */
-
-/* Define to 1 if you have the `ctime' function. */
-#define HAVE_CTIME 1
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#define HAVE_CTYPE_H 1
-
-/* Define to 1 if you have the `difftime' function. */
-#define HAVE_DIFFTIME 1
-
-/* Define to 1 if you have the <dirent.h> header file. */
-#define HAVE_DIRENT_H 1
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the <float.h> header file. */
-#define HAVE_FLOAT_H 1
-
-/* Define to 1 if you have the `fstat' function. */
-#define HAVE_FSTAT 1
-
-/* Define to 1 if you have the `getenv' function. */
-#define HAVE_GETENV 1
-
-/* Define to 1 if you have the `getpagesize' function. */
-#define HAVE_GETPAGESIZE 1
-
-/* Define to 1 if you have the `getrusage' function. */
-#define HAVE_GETRUSAGE 1
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#define HAVE_GETTIMEOFDAY 1
-
-/* Define to 1 if you have the `gmtime' function. */
-#define HAVE_GMTIME 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the `isatty' function. */
-#define HAVE_ISATTY 1
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the `localtime' function. */
-#define HAVE_LOCALTIME 1
-
-/* Define to 1 if you have the `longjmp' function. */
-#define HAVE_LONGJMP 1
-
-/* Define to 1 if you have the `lstat' function. */
-#define HAVE_LSTAT 1
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#define HAVE_MALLOC_H 1
-
-/* Define to 1 if you have the `memcmp' function. */
-#define HAVE_MEMCMP 1
-
-/* Define to 1 if you have the `memcpy' function. */
-#define HAVE_MEMCPY 1
-
-/* Define to 1 if you have the `memmove' function. */
-#define HAVE_MEMMOVE 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the `mkdir' function. */
-#define HAVE_MKDIR 1
-
-/* Define to 1 if you have the `mktime' function. */
-#define HAVE_MKTIME 1
-
-/* Define to 1 if you have the `mmap' function. */
-#define HAVE_MMAP 1
-
-/* Define to 1 if you have the `mprotect' function. */
-#define HAVE_MPROTECT 1
-
-/* Define to 1 if you have the `munmap' function. */
-#define HAVE_MUNMAP 1
-
-/* Define to 1 if you have the `qsort' function. */
-#define HAVE_QSORT 1
-
-/* Define to 1 if you have the `raise' function. */
-#define HAVE_RAISE 1
-
-/* Define to 1 if you have the `rmdir' function. */
-#define HAVE_RMDIR 1
-
-/* Define to 1 if you have the `setjmp' function. */
-#define HAVE_SETJMP 1
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#define HAVE_SETJMP_H 1
-
-/* Define to 1 if you have the `signal' function. */
-#define HAVE_SIGNAL 1
-
-/* Define to 1 if you have the <signal.h> header file. */
-#define HAVE_SIGNAL_H 1
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define to 1 if you have the <stdarg.h> header file. */
-#define HAVE_STDARG_H 1
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#define HAVE_STDDEF_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#define HAVE_STDIO_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#define HAVE_STRCASECMP 1
-
-/* Define to 1 if you have the `strchr' function. */
-#define HAVE_STRCHR 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the `strftime' function. */
-#define HAVE_STRFTIME 1
-
-/* Define to 1 if you have the `stricmp' function. */
-/* #undef HAVE_STRICMP */
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strncasecmp' function. */
-#define HAVE_STRNCASECMP 1
-
-/* Define to 1 if you have the `strnicmp' function. */
-/* #undef HAVE_STRNICMP */
-
-/* Define to 1 if you have the `strrchr' function. */
-#define HAVE_STRRCHR 1
-
-/* Define to 1 if you have the `strstr' function. */
-#define HAVE_STRSTR 1
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#define HAVE_SYS_MMAN_H 1
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/wait.h> header file. */
-#define HAVE_SYS_WAIT_H 1
-
-/* Define to 1 if you have the `time' function. */
-#define HAVE_TIME 1
-
-/* Define to 1 if you have the <time.h> header file. */
-#define HAVE_TIME_H 1
-
-/* Define to 1 if you have the `umask' function. */
-#define HAVE_UMASK 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `utime' function. */
-#define HAVE_UTIME 1
-
-/* Define to 1 if you have the <utime.h> header file. */
-#define HAVE_UTIME_H 1
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#define HAVE_VSNPRINTF 1
-
-/* Define to 1 if your machine is big endian. */
-/* #undef LZO_ABI_BIG_ENDIAN */
-
-/* Define to 1 if your machine is little endian. */
-#define LZO_ABI_LITTLE_ENDIAN 1
-
-/* Name of package */
-#define PACKAGE "lzo"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "markus@oberhumer.com"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "lzo"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "lzo 2.03"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "lzo"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.03"
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* The size of a `dev_t', as computed by sizeof. */
-#define SIZEOF_DEV_T 8
-
-/* The size of a `double', as computed by sizeof. */
-#define SIZEOF_DOUBLE 8
-
-/* The size of a `float', as computed by sizeof. */
-#define SIZEOF_FLOAT 4
-
-/* The size of a `fpos_t', as computed by sizeof. */
-#define SIZEOF_FPOS_T 16
-
-/* The size of a `int', as computed by sizeof. */
-#define SIZEOF_INT 4
-
-/* The size of a `intmax_t', as computed by sizeof. */
-#define SIZEOF_INTMAX_T 8
-
-/* The size of a `intptr_t', as computed by sizeof. */
-#define SIZEOF_INTPTR_T 4
-
-/* The size of a `long', as computed by sizeof. */
-#define SIZEOF_LONG 4
-
-/* The size of a `long double', as computed by sizeof. */
-#define SIZEOF_LONG_DOUBLE 12
-
-/* The size of a `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG 8
-
-/* The size of a `mode_t', as computed by sizeof. */
-#define SIZEOF_MODE_T 4
-
-/* The size of a `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 8
-
-/* The size of a `ptrdiff_t', as computed by sizeof. */
-#define SIZEOF_PTRDIFF_T 4
-
-/* The size of a `short', as computed by sizeof. */
-#define SIZEOF_SHORT 2
-
-/* The size of a `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 4
-
-/* The size of a `ssize_t', as computed by sizeof. */
-#define SIZEOF_SSIZE_T 4
-
-/* The size of a `time_t', as computed by sizeof. */
-#define SIZEOF_TIME_T 4
-
-/* The size of a `uintmax_t', as computed by sizeof. */
-#define SIZEOF_UINTMAX_T 8
-
-/* The size of a `uintptr_t', as computed by sizeof. */
-#define SIZEOF_UINTPTR_T 4
-
-/* The size of a `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 4
-
-/* The size of a `__int16', as computed by sizeof. */
-#define SIZEOF___INT16 0
-
-/* The size of a `__int32', as computed by sizeof. */
-#define SIZEOF___INT32 0
-
-/* The size of a `__int64', as computed by sizeof. */
-#define SIZEOF___INT64 0
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Version number of package */
-#define VERSION "2.03"
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to `long' if <sys/types.h> does not define. */
-/* #undef off_t */
-
-/* Define to `long' if <sys/types.h> does not define. */
-/* #undef ptrdiff_t */
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
diff --git a/main/lzo/config.log b/main/lzo/config.log
deleted file mode 100644
index bd09f04b..00000000
--- a/main/lzo/config.log
+++ /dev/null
@@ -1,3482 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by lzo configure 2.03, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ ./configure
-
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = dune
-uname -m = i686
-uname -r = 2.6.27-11-generic
-uname -s = Linux
-uname -v = #1 SMP Thu Jan 29 19:24:39 UTC 2009
-
-/usr/bin/uname -p = unknown
-/bin/uname -X = unknown
-
-/bin/arch = unknown
-/usr/bin/arch -k = unknown
-/usr/convex/getsysinfo = unknown
-hostinfo = unknown
-/bin/machine = unknown
-/usr/bin/oslevel = unknown
-/bin/universe = unknown
-
-PATH: /usr/local/sbin
-PATH: /usr/local/bin
-PATH: /usr/sbin
-PATH: /usr/bin
-PATH: /sbin
-PATH: /bin
-PATH: /usr/games
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-configure:1528: Configuring LZO 2.03
-configure:1563: checking build system type
-configure:1581: result: i686-pc-linux-gnu
-configure:1589: checking host system type
-configure:1603: result: i686-pc-linux-gnu
-configure:1611: checking target system type
-configure:1625: result: i686-pc-linux-gnu
-configure:1639: checking whether to enable maintainer-specific portions of Makefiles
-configure:1648: result: no
-configure:1781: checking for gcc
-configure:1797: found /usr/bin/gcc
-configure:1807: result: gcc
-configure:2051: checking for C compiler version
-configure:2054: gcc --version </dev/null >&5
-gcc (Ubuntu 4.3.2-1ubuntu12) 4.3.2
-Copyright (C) 2008 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:2057: $? = 0
-configure:2059: gcc -v </dev/null >&5
-Using built-in specs.
-Target: i486-linux-gnu
-Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu12' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
-Thread model: posix
-gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)
-configure:2062: $? = 0
-configure:2064: gcc -V </dev/null >&5
-gcc: '-V' option must have argument
-configure:2067: $? = 1
-configure:2090: checking for C compiler default output file name
-configure:2093: gcc conftest.c >&5
-configure:2096: $? = 0
-configure:2142: result: a.out
-configure:2147: checking whether the C compiler works
-configure:2153: ./a.out
-configure:2156: $? = 0
-configure:2173: result: yes
-configure:2180: checking whether we are cross compiling
-configure:2182: result: no
-configure:2185: checking for suffix of executables
-configure:2187: gcc -o conftest conftest.c >&5
-configure:2190: $? = 0
-configure:2215: result:
-configure:2221: checking for suffix of object files
-configure:2242: gcc -c conftest.c >&5
-configure:2245: $? = 0
-configure:2267: result: o
-configure:2271: checking whether we are using the GNU C compiler
-configure:2295: gcc -c conftest.c >&5
-configure:2301: $? = 0
-configure:2304: test -z || test ! -s conftest.err
-configure:2307: $? = 0
-configure:2310: test -s conftest.o
-configure:2313: $? = 0
-configure:2326: result: yes
-configure:2332: checking whether gcc accepts -g
-configure:2353: gcc -c -g conftest.c >&5
-configure:2359: $? = 0
-configure:2362: test -z || test ! -s conftest.err
-configure:2365: $? = 0
-configure:2368: test -s conftest.o
-configure:2371: $? = 0
-configure:2382: result: yes
-configure:2399: checking for gcc option to accept ANSI C
-configure:2469: gcc -c -g -O2 conftest.c >&5
-configure:2475: $? = 0
-configure:2478: test -z || test ! -s conftest.err
-configure:2481: $? = 0
-configure:2484: test -s conftest.o
-configure:2487: $? = 0
-configure:2505: result: none needed
-configure:2523: gcc -c -g -O2 conftest.c >&5
-conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me'
-configure:2529: $? = 1
-configure: failed program was:
-| #ifndef __cplusplus
-| choke me
-| #endif
-configure:2664: checking how to run the C preprocessor
-configure:2699: gcc -E conftest.c
-configure:2705: $? = 0
-configure:2737: gcc -E conftest.c
-conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
-configure:2743: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:2782: result: gcc -E
-configure:2806: gcc -E conftest.c
-configure:2812: $? = 0
-configure:2844: gcc -E conftest.c
-conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
-configure:2850: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:2894: checking whether the C preprocessor needs special flags
-configure:2928: gcc -c -g -O2 conftest.c >&5
-configure:2934: $? = 0
-configure:2937: test -z || test ! -s conftest.err
-configure:2940: $? = 0
-configure:2943: test -s conftest.o
-configure:2946: $? = 0
-configure:2961: result: none needed
-configure:2978: checking for an ANSI C-conforming const
-configure:3045: gcc -c -g -O2 conftest.c >&5
-configure:3051: $? = 0
-configure:3054: test -z || test ! -s conftest.err
-configure:3057: $? = 0
-configure:3060: test -s conftest.o
-configure:3063: $? = 0
-configure:3074: result: yes
-configure:3085: checking whether byte ordering is bigendian
-configure:3112: gcc -c -g -O2 conftest.c >&5
-configure:3118: $? = 0
-configure:3121: test -z || test ! -s conftest.err
-configure:3124: $? = 0
-configure:3127: test -s conftest.o
-configure:3130: $? = 0
-configure:3154: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:16: error: 'not' undeclared (first use in this function)
-conftest.c:16: error: (Each undeclared identifier is reported only once
-conftest.c:16: error: for each function it appears in.)
-conftest.c:16: error: expected ';' before 'big'
-configure:3160: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| /* end confdefs.h. */
-| #include <sys/types.h>
-| #include <sys/param.h>
-|
-| int
-| main ()
-| {
-| #if BYTE_ORDER != BIG_ENDIAN
-| not big endian
-| #endif
-|
-| ;
-| return 0;
-| }
-configure:3293: result: no
-configure:3324: checking for special C compiler options needed for large files
-configure:3421: result: no
-configure:3427: checking for _FILE_OFFSET_BITS value needed for large files
-configure:3458: gcc -c -g -O2 conftest.c >&5
-conftest.c:16: warning: left shift count >= width of type
-conftest.c:16: warning: left shift count >= width of type
-conftest.c:18: error: size of array 'off_t_is_large' is negative
-configure:3464: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| /* end confdefs.h. */
-| #include <sys/types.h>
-| /* Check that off_t can represent 2**63 - 1 correctly.
-| We can't simply define LARGE_OFF_T to be 9223372036854775807,
-| since some C++ compilers masquerading as C compilers
-| incorrectly reject 9223372036854775807. */
-| #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
-| int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
-| && LARGE_OFF_T % 2147483647 == 1)
-| ? 1 : -1];
-| int
-| main ()
-| {
-|
-| ;
-| return 0;
-| }
-configure:3510: gcc -c -g -O2 conftest.c >&5
-configure:3516: $? = 0
-configure:3519: test -z || test ! -s conftest.err
-configure:3522: $? = 0
-configure:3525: test -s conftest.o
-configure:3528: $? = 0
-configure:3540: result: 64
-configure:3550: checking for _LARGE_FILES value needed for large files
-configure:3581: gcc -c -g -O2 conftest.c >&5
-configure:3587: $? = 0
-configure:3590: test -z || test ! -s conftest.err
-configure:3593: $? = 0
-configure:3596: test -s conftest.o
-configure:3599: $? = 0
-configure:3663: result: no
-configure:3690: checking for a BSD-compatible install
-configure:3745: result: /usr/bin/install -c
-configure:3756: checking whether build environment is sane
-configure:3799: result: yes
-configure:3864: checking for gawk
-configure:3893: result: no
-configure:3864: checking for mawk
-configure:3880: found /usr/bin/mawk
-configure:3890: result: mawk
-configure:3900: checking whether make sets $(MAKE)
-configure:3920: result: yes
-configure:3950: checking for style of include used by make
-configure:3978: result: GNU
-configure:4154: checking dependency style of gcc
-configure:4244: result: gcc3
-configure:4338: checking for a sed that does not truncate output
-configure:4392: result: /bin/sed
-configure:4395: checking for egrep
-configure:4405: result: grep -E
-configure:4421: checking for ld used by gcc
-configure:4488: result: /usr/bin/ld
-configure:4497: checking if the linker (/usr/bin/ld) is GNU ld
-configure:4512: result: yes
-configure:4517: checking for /usr/bin/ld option to reload object files
-configure:4524: result: -r
-configure:4542: checking for BSD-compatible nm
-configure:4591: result: /usr/bin/nm -B
-configure:4595: checking whether ln -s works
-configure:4599: result: yes
-configure:4606: checking how to recognise dependent libraries
-configure:4782: result: pass_all
-configure:5013: checking for ANSI C header files
-configure:5038: gcc -c -g -O2 conftest.c >&5
-configure:5044: $? = 0
-configure:5047: test -z || test ! -s conftest.err
-configure:5050: $? = 0
-configure:5053: test -s conftest.o
-configure:5056: $? = 0
-configure:5145: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:30: warning: incompatible implicit declaration of built-in function 'exit'
-configure:5148: $? = 0
-configure:5150: ./conftest
-configure:5153: $? = 0
-configure:5168: result: yes
-configure:5192: checking for sys/types.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for sys/stat.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for stdlib.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for string.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for memory.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for strings.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for inttypes.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for stdint.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5192: checking for unistd.h
-configure:5208: gcc -c -g -O2 conftest.c >&5
-configure:5214: $? = 0
-configure:5217: test -z || test ! -s conftest.err
-configure:5220: $? = 0
-configure:5223: test -s conftest.o
-configure:5226: $? = 0
-configure:5237: result: yes
-configure:5263: checking dlfcn.h usability
-configure:5275: gcc -c -g -O2 conftest.c >&5
-configure:5281: $? = 0
-configure:5284: test -z || test ! -s conftest.err
-configure:5287: $? = 0
-configure:5290: test -s conftest.o
-configure:5293: $? = 0
-configure:5303: result: yes
-configure:5307: checking dlfcn.h presence
-configure:5317: gcc -E conftest.c
-configure:5323: $? = 0
-configure:5343: result: yes
-configure:5378: checking for dlfcn.h
-configure:5385: result: yes
-configure:5450: checking for g++
-configure:5466: found /usr/bin/g++
-configure:5476: result: g++
-configure:5492: checking for C++ compiler version
-configure:5495: g++ --version </dev/null >&5
-g++ (Ubuntu 4.3.2-1ubuntu12) 4.3.2
-Copyright (C) 2008 Free Software Foundation, Inc.
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-configure:5498: $? = 0
-configure:5500: g++ -v </dev/null >&5
-Using built-in specs.
-Target: i486-linux-gnu
-Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu12' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
-Thread model: posix
-gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)
-configure:5503: $? = 0
-configure:5505: g++ -V </dev/null >&5
-g++: '-V' option must have argument
-configure:5508: $? = 1
-configure:5511: checking whether we are using the GNU C++ compiler
-configure:5535: g++ -c conftest.cc >&5
-configure:5541: $? = 0
-configure:5544: test -z || test ! -s conftest.err
-configure:5547: $? = 0
-configure:5550: test -s conftest.o
-configure:5553: $? = 0
-configure:5566: result: yes
-configure:5572: checking whether g++ accepts -g
-configure:5593: g++ -c -g conftest.cc >&5
-configure:5599: $? = 0
-configure:5602: test -z || test ! -s conftest.err
-configure:5605: $? = 0
-configure:5608: test -s conftest.o
-configure:5611: $? = 0
-configure:5622: result: yes
-configure:5664: g++ -c -g -O2 conftest.cc >&5
-configure:5670: $? = 0
-configure:5673: test -z || test ! -s conftest.err
-configure:5676: $? = 0
-configure:5679: test -s conftest.o
-configure:5682: $? = 0
-configure:5708: g++ -c -g -O2 conftest.cc >&5
-conftest.cc: In function 'int main()':
-conftest.cc:28: error: 'exit' was not declared in this scope
-configure:5714: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| /* end confdefs.h. */
-|
-| int
-| main ()
-| {
-| exit (42);
-| ;
-| return 0;
-| }
-configure:5664: g++ -c -g -O2 conftest.cc >&5
-conftest.cc:24: error: 'void std::exit(int)' should have been declared inside 'std'
-configure:5670: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| /* end confdefs.h. */
-| extern "C" void std::exit (int) throw (); using std::exit;
-| #include <stdlib.h>
-| int
-| main ()
-| {
-| exit (42);
-| ;
-| return 0;
-| }
-configure:5664: g++ -c -g -O2 conftest.cc >&5
-conftest.cc:24: error: 'void std::exit(int)' should have been declared inside 'std'
-In file included from conftest.cc:25:
-/usr/include/stdlib.h:531: error: declaration of 'void std::exit(int) throw ()' throws different exceptions
-conftest.cc:24: error: from previous declaration 'void std::exit(int)'
-configure:5670: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| /* end confdefs.h. */
-| extern "C" void std::exit (int); using std::exit;
-| #include <stdlib.h>
-| int
-| main ()
-| {
-| exit (42);
-| ;
-| return 0;
-| }
-configure:5664: g++ -c -g -O2 conftest.cc >&5
-configure:5670: $? = 0
-configure:5673: test -z || test ! -s conftest.err
-configure:5676: $? = 0
-configure:5679: test -s conftest.o
-configure:5682: $? = 0
-configure:5708: g++ -c -g -O2 conftest.cc >&5
-configure:5714: $? = 0
-configure:5717: test -z || test ! -s conftest.err
-configure:5720: $? = 0
-configure:5723: test -s conftest.o
-configure:5726: $? = 0
-configure:5751: checking dependency style of g++
-configure:5841: result: gcc3
-configure:5868: checking how to run the C++ preprocessor
-configure:5899: g++ -E conftest.cc
-configure:5905: $? = 0
-configure:5937: g++ -E conftest.cc
-conftest.cc:27:28: error: ac_nonexistent.h: No such file or directory
-configure:5943: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:5982: result: g++ -E
-configure:6006: g++ -E conftest.cc
-configure:6012: $? = 0
-configure:6044: g++ -E conftest.cc
-conftest.cc:27:28: error: ac_nonexistent.h: No such file or directory
-configure:6050: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| /* end confdefs.h. */
-| #include <ac_nonexistent.h>
-configure:6147: checking for g77
-configure:6176: result: no
-configure:6147: checking for f77
-configure:6176: result: no
-configure:6147: checking for xlf
-configure:6176: result: no
-configure:6147: checking for frt
-configure:6176: result: no
-configure:6147: checking for pgf77
-configure:6176: result: no
-configure:6147: checking for fort77
-configure:6176: result: no
-configure:6147: checking for fl32
-configure:6176: result: no
-configure:6147: checking for af77
-configure:6176: result: no
-configure:6147: checking for f90
-configure:6176: result: no
-configure:6147: checking for xlf90
-configure:6176: result: no
-configure:6147: checking for pgf90
-configure:6176: result: no
-configure:6147: checking for epcf90
-configure:6176: result: no
-configure:6147: checking for f95
-configure:6176: result: no
-configure:6147: checking for fort
-configure:6176: result: no
-configure:6147: checking for xlf95
-configure:6176: result: no
-configure:6147: checking for ifc
-configure:6176: result: no
-configure:6147: checking for efc
-configure:6176: result: no
-configure:6147: checking for pgf95
-configure:6176: result: no
-configure:6147: checking for lf95
-configure:6176: result: no
-configure:6147: checking for gfortran
-configure:6176: result: no
-configure:6188: checking for Fortran 77 compiler version
-configure:6191: --version </dev/null >&5
-./configure: line 6192: --version: command not found
-configure:6194: $? = 127
-configure:6196: -v </dev/null >&5
-./configure: line 6197: -v: command not found
-configure:6199: $? = 127
-configure:6201: -V </dev/null >&5
-./configure: line 6202: -V: command not found
-configure:6204: $? = 127
-configure:6212: checking whether we are using the GNU Fortran 77 compiler
-configure:6226: -c conftest.F >&5
-./configure: line 6227: -c: command not found
-configure:6232: $? = 127
-configure: failed program was:
-| program main
-| #ifndef __GNUC__
-| choke me
-| #endif
-|
-| end
-configure:6257: result: no
-configure:6263: checking whether accepts -g
-configure:6275: -c -g conftest.f >&5
-./configure: line 6276: -c: command not found
-configure:6281: $? = 127
-configure: failed program was:
-| program main
-|
-| end
-configure:6305: result: no
-configure:6335: checking the maximum length of command line arguments
-configure:6444: result: 32768
-configure:6455: checking command to parse /usr/bin/nm -B output from gcc object
-configure:6560: gcc -c -g -O2 conftest.c >&5
-configure:6563: $? = 0
-configure:6567: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
-configure:6570: $? = 0
-configure:6622: gcc -o conftest -g -O2 conftest.c conftstm.o >&5
-configure:6625: $? = 0
-configure:6663: result: ok
-configure:6667: checking for objdir
-configure:6682: result: .libs
-configure:6772: checking for ar
-configure:6788: found /usr/bin/ar
-configure:6799: result: ar
-configure:6852: checking for ranlib
-configure:6868: found /usr/bin/ranlib
-configure:6879: result: ranlib
-configure:6932: checking for strip
-configure:6948: found /usr/bin/strip
-configure:6959: result: strip
-configure:7231: checking if gcc supports -fno-rtti -fno-exceptions
-configure:7249: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5
-cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
-configure:7253: $? = 0
-configure:7266: result: no
-configure:7281: checking for gcc option to produce PIC
-configure:7491: result: -fPIC
-configure:7499: checking if gcc PIC flag -fPIC works
-configure:7517: gcc -c -g -O2 -fPIC -DPIC conftest.c >&5
-configure:7521: $? = 0
-configure:7534: result: yes
-configure:7562: checking if gcc static flag -static works
-configure:7590: result: yes
-configure:7600: checking if gcc supports -c -o file.o
-configure:7621: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5
-configure:7625: $? = 0
-configure:7647: result: yes
-configure:7673: checking whether the gcc linker (/usr/bin/ld) supports shared libraries
-configure:8629: result: yes
-configure:8696: checking dynamic linker characteristics
-configure:9305: result: GNU/Linux ld.so
-configure:9314: checking how to hardcode library paths into programs
-configure:9339: result: immediate
-configure:9353: checking whether stripping libraries is possible
-configure:9358: result: yes
-configure:10185: checking if libtool supports shared libraries
-configure:10187: result: yes
-configure:10190: checking whether to build shared libraries
-configure:10211: result: no
-configure:10214: checking whether to build static libraries
-configure:10218: result: yes
-configure:10310: creating libtool
-configure:10898: checking for ld used by g++
-configure:10965: result: /usr/bin/ld
-configure:10974: checking if the linker (/usr/bin/ld) is GNU ld
-configure:10989: result: yes
-configure:11040: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
-configure:11976: result: yes
-configure:11994: g++ -c -g -O2 conftest.cpp >&5
-configure:11997: $? = 0
-configure:12116: checking for g++ option to produce PIC
-configure:12390: result: -fPIC
-configure:12398: checking if g++ PIC flag -fPIC works
-configure:12416: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5
-configure:12420: $? = 0
-configure:12433: result: yes
-configure:12461: checking if g++ static flag -static works
-configure:12489: result: yes
-configure:12499: checking if g++ supports -c -o file.o
-configure:12520: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5
-configure:12524: $? = 0
-configure:12546: result: yes
-configure:12572: checking whether the g++ linker (/usr/bin/ld) supports shared libraries
-configure:12597: result: yes
-configure:12664: checking dynamic linker characteristics
-configure:13273: result: GNU/Linux ld.so
-configure:13282: checking how to hardcode library paths into programs
-configure:13307: result: immediate
-configure:19519: checking whether to build assembly versions
-configure:19527: gcc -c conftest.S 1>&5
-configure:19530: $? = 0
-configure:19533: test -s conftest.o
-configure:19536: $? = 0
-configure:19549: result: yes
-configure:19570: checking whether time.h and sys/time.h may both be included
-configure:19595: gcc -c -g -O2 conftest.c >&5
-configure:19601: $? = 0
-configure:19604: test -z || test ! -s conftest.err
-configure:19607: $? = 0
-configure:19610: test -s conftest.o
-configure:19613: $? = 0
-configure:19624: result: yes
-configure:19674: checking assert.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking assert.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for assert.h
-configure:19796: result: yes
-configure:19674: checking ctype.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking ctype.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for ctype.h
-configure:19796: result: yes
-configure:19674: checking dirent.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking dirent.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for dirent.h
-configure:19796: result: yes
-configure:19674: checking errno.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking errno.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for errno.h
-configure:19796: result: yes
-configure:19674: checking fcntl.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking fcntl.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for fcntl.h
-configure:19796: result: yes
-configure:19674: checking float.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking float.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for float.h
-configure:19796: result: yes
-configure:19674: checking limits.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking limits.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for limits.h
-configure:19796: result: yes
-configure:19674: checking malloc.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking malloc.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for malloc.h
-configure:19796: result: yes
-configure:19665: checking for memory.h
-configure:19670: result: yes
-configure:19674: checking setjmp.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking setjmp.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for setjmp.h
-configure:19796: result: yes
-configure:19674: checking signal.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking signal.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for signal.h
-configure:19796: result: yes
-configure:19674: checking stdarg.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking stdarg.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for stdarg.h
-configure:19796: result: yes
-configure:19674: checking stddef.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking stddef.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for stddef.h
-configure:19796: result: yes
-configure:19665: checking for stdint.h
-configure:19670: result: yes
-configure:19674: checking stdio.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking stdio.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for stdio.h
-configure:19796: result: yes
-configure:19665: checking for stdlib.h
-configure:19670: result: yes
-configure:19665: checking for string.h
-configure:19670: result: yes
-configure:19665: checking for strings.h
-configure:19670: result: yes
-configure:19674: checking time.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking time.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for time.h
-configure:19796: result: yes
-configure:19665: checking for unistd.h
-configure:19670: result: yes
-configure:19674: checking utime.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking utime.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for utime.h
-configure:19796: result: yes
-configure:19674: checking sys/mman.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking sys/mman.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for sys/mman.h
-configure:19796: result: yes
-configure:19674: checking sys/resource.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking sys/resource.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for sys/resource.h
-configure:19796: result: yes
-configure:19665: checking for sys/stat.h
-configure:19670: result: yes
-configure:19674: checking sys/time.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking sys/time.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for sys/time.h
-configure:19796: result: yes
-configure:19665: checking for sys/types.h
-configure:19670: result: yes
-configure:19674: checking sys/wait.h usability
-configure:19686: gcc -c -g -O2 conftest.c >&5
-configure:19692: $? = 0
-configure:19695: test -z || test ! -s conftest.err
-configure:19698: $? = 0
-configure:19701: test -s conftest.o
-configure:19704: $? = 0
-configure:19714: result: yes
-configure:19718: checking sys/wait.h presence
-configure:19728: gcc -E conftest.c
-configure:19734: $? = 0
-configure:19754: result: yes
-configure:19789: checking for sys/wait.h
-configure:19796: result: yes
-configure:19816: checking whether limits.h is sane
-configure:19934: gcc -c -g -O2 conftest.c >&5
-configure:19940: $? = 0
-configure:19943: test -z || test ! -s conftest.err
-configure:19946: $? = 0
-configure:19949: test -s conftest.o
-configure:19952: $? = 0
-configure:19963: result: yes
-configure:19977: checking for off_t
-configure:20001: gcc -c -g -O2 conftest.c >&5
-configure:20007: $? = 0
-configure:20010: test -z || test ! -s conftest.err
-configure:20013: $? = 0
-configure:20016: test -s conftest.o
-configure:20019: $? = 0
-configure:20030: result: yes
-configure:20042: checking for ptrdiff_t
-configure:20066: gcc -c -g -O2 conftest.c >&5
-configure:20072: $? = 0
-configure:20075: test -z || test ! -s conftest.err
-configure:20078: $? = 0
-configure:20081: test -s conftest.o
-configure:20084: $? = 0
-configure:20095: result: yes
-configure:20107: checking for size_t
-configure:20131: gcc -c -g -O2 conftest.c >&5
-configure:20137: $? = 0
-configure:20140: test -z || test ! -s conftest.err
-configure:20143: $? = 0
-configure:20146: test -s conftest.o
-configure:20149: $? = 0
-configure:20160: result: yes
-configure:20172: checking return type of signal handlers
-configure:20203: gcc -c -g -O2 conftest.c >&5
-configure:20209: $? = 0
-configure:20212: test -z || test ! -s conftest.err
-configure:20215: $? = 0
-configure:20218: test -s conftest.o
-configure:20221: $? = 0
-configure:20232: result: void
-configure:20242: checking for short
-configure:20266: gcc -c -g -O2 conftest.c >&5
-configure:20272: $? = 0
-configure:20275: test -z || test ! -s conftest.err
-configure:20278: $? = 0
-configure:20281: test -s conftest.o
-configure:20284: $? = 0
-configure:20295: result: yes
-configure:20298: checking size of short
-configure:20610: gcc -o conftest -g -O2 conftest.c >&5
-configure:20613: $? = 0
-configure:20615: ./conftest
-configure:20618: $? = 0
-configure:20641: result: 2
-configure:20648: checking for int
-configure:20672: gcc -c -g -O2 conftest.c >&5
-configure:20678: $? = 0
-configure:20681: test -z || test ! -s conftest.err
-configure:20684: $? = 0
-configure:20687: test -s conftest.o
-configure:20690: $? = 0
-configure:20701: result: yes
-configure:20704: checking size of int
-configure:21016: gcc -o conftest -g -O2 conftest.c >&5
-configure:21019: $? = 0
-configure:21021: ./conftest
-configure:21024: $? = 0
-configure:21047: result: 4
-configure:21054: checking for long
-configure:21078: gcc -c -g -O2 conftest.c >&5
-configure:21084: $? = 0
-configure:21087: test -z || test ! -s conftest.err
-configure:21090: $? = 0
-configure:21093: test -s conftest.o
-configure:21096: $? = 0
-configure:21107: result: yes
-configure:21110: checking size of long
-configure:21422: gcc -o conftest -g -O2 conftest.c >&5
-configure:21425: $? = 0
-configure:21427: ./conftest
-configure:21430: $? = 0
-configure:21453: result: 4
-configure:21461: checking for long long
-configure:21485: gcc -c -g -O2 conftest.c >&5
-configure:21491: $? = 0
-configure:21494: test -z || test ! -s conftest.err
-configure:21497: $? = 0
-configure:21500: test -s conftest.o
-configure:21503: $? = 0
-configure:21514: result: yes
-configure:21517: checking size of long long
-configure:21829: gcc -o conftest -g -O2 conftest.c >&5
-configure:21832: $? = 0
-configure:21834: ./conftest
-configure:21837: $? = 0
-configure:21860: result: 8
-configure:21867: checking for __int16
-configure:21891: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:97: error: '__int16' undeclared (first use in this function)
-conftest.c:97: error: (Each undeclared identifier is reported only once
-conftest.c:97: error: for each function it appears in.)
-conftest.c:97: error: expected expression before ')' token
-configure:21897: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| /* end confdefs.h. */
-| #include <stdio.h>
-| #if HAVE_SYS_TYPES_H
-| # include <sys/types.h>
-| #endif
-| #if HAVE_SYS_STAT_H
-| # include <sys/stat.h>
-| #endif
-| #if STDC_HEADERS
-| # include <stdlib.h>
-| # include <stddef.h>
-| #else
-| # if HAVE_STDLIB_H
-| # include <stdlib.h>
-| # endif
-| #endif
-| #if HAVE_STRING_H
-| # if !STDC_HEADERS && HAVE_MEMORY_H
-| # include <memory.h>
-| # endif
-| # include <string.h>
-| #endif
-| #if HAVE_STRINGS_H
-| # include <strings.h>
-| #endif
-| #if HAVE_INTTYPES_H
-| # include <inttypes.h>
-| #else
-| # if HAVE_STDINT_H
-| # include <stdint.h>
-| # endif
-| #endif
-| #if HAVE_UNISTD_H
-| # include <unistd.h>
-| #endif
-| int
-| main ()
-| {
-| if ((__int16 *) 0)
-| return 0;
-| if (sizeof (__int16))
-| return 0;
-| ;
-| return 0;
-| }
-configure:21920: result: no
-configure:21923: checking size of __int16
-configure:22266: result: 0
-configure:22273: checking for __int32
-configure:22297: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:98: error: '__int32' undeclared (first use in this function)
-conftest.c:98: error: (Each undeclared identifier is reported only once
-conftest.c:98: error: for each function it appears in.)
-conftest.c:98: error: expected expression before ')' token
-configure:22303: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| /* end confdefs.h. */
-| #include <stdio.h>
-| #if HAVE_SYS_TYPES_H
-| # include <sys/types.h>
-| #endif
-| #if HAVE_SYS_STAT_H
-| # include <sys/stat.h>
-| #endif
-| #if STDC_HEADERS
-| # include <stdlib.h>
-| # include <stddef.h>
-| #else
-| # if HAVE_STDLIB_H
-| # include <stdlib.h>
-| # endif
-| #endif
-| #if HAVE_STRING_H
-| # if !STDC_HEADERS && HAVE_MEMORY_H
-| # include <memory.h>
-| # endif
-| # include <string.h>
-| #endif
-| #if HAVE_STRINGS_H
-| # include <strings.h>
-| #endif
-| #if HAVE_INTTYPES_H
-| # include <inttypes.h>
-| #else
-| # if HAVE_STDINT_H
-| # include <stdint.h>
-| # endif
-| #endif
-| #if HAVE_UNISTD_H
-| # include <unistd.h>
-| #endif
-| int
-| main ()
-| {
-| if ((__int32 *) 0)
-| return 0;
-| if (sizeof (__int32))
-| return 0;
-| ;
-| return 0;
-| }
-configure:22326: result: no
-configure:22329: checking size of __int32
-configure:22672: result: 0
-configure:22679: checking for __int64
-configure:22703: gcc -c -g -O2 conftest.c >&5
-conftest.c: In function 'main':
-conftest.c:99: error: '__int64' undeclared (first use in this function)
-conftest.c:99: error: (Each undeclared identifier is reported only once
-conftest.c:99: error: for each function it appears in.)
-conftest.c:99: error: expected expression before ')' token
-configure:22709: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| /* end confdefs.h. */
-| #include <stdio.h>
-| #if HAVE_SYS_TYPES_H
-| # include <sys/types.h>
-| #endif
-| #if HAVE_SYS_STAT_H
-| # include <sys/stat.h>
-| #endif
-| #if STDC_HEADERS
-| # include <stdlib.h>
-| # include <stddef.h>
-| #else
-| # if HAVE_STDLIB_H
-| # include <stdlib.h>
-| # endif
-| #endif
-| #if HAVE_STRING_H
-| # if !STDC_HEADERS && HAVE_MEMORY_H
-| # include <memory.h>
-| # endif
-| # include <string.h>
-| #endif
-| #if HAVE_STRINGS_H
-| # include <strings.h>
-| #endif
-| #if HAVE_INTTYPES_H
-| # include <inttypes.h>
-| #else
-| # if HAVE_STDINT_H
-| # include <stdint.h>
-| # endif
-| #endif
-| #if HAVE_UNISTD_H
-| # include <unistd.h>
-| #endif
-| int
-| main ()
-| {
-| if ((__int64 *) 0)
-| return 0;
-| if (sizeof (__int64))
-| return 0;
-| ;
-| return 0;
-| }
-configure:22732: result: no
-configure:22735: checking size of __int64
-configure:23078: result: 0
-configure:23086: checking for void *
-configure:23110: gcc -c -g -O2 conftest.c >&5
-configure:23116: $? = 0
-configure:23119: test -z || test ! -s conftest.err
-configure:23122: $? = 0
-configure:23125: test -s conftest.o
-configure:23128: $? = 0
-configure:23139: result: yes
-configure:23142: checking size of void *
-configure:23454: gcc -o conftest -g -O2 conftest.c >&5
-configure:23457: $? = 0
-configure:23459: ./conftest
-configure:23462: $? = 0
-configure:23485: result: 4
-configure:23492: checking for size_t
-configure:23545: result: yes
-configure:23548: checking size of size_t
-configure:23860: gcc -o conftest -g -O2 conftest.c >&5
-configure:23863: $? = 0
-configure:23865: ./conftest
-configure:23868: $? = 0
-configure:23891: result: 4
-configure:23898: checking for ptrdiff_t
-configure:23951: result: yes
-configure:23954: checking size of ptrdiff_t
-configure:24266: gcc -o conftest -g -O2 conftest.c >&5
-configure:24269: $? = 0
-configure:24271: ./conftest
-configure:24274: $? = 0
-configure:24297: result: 4
-configure:24306: checking for __int32
-configure:24359: result: no
-configure:24362: checking size of __int32
-configure:24705: result: 0
-configure:24712: checking for intmax_t
-configure:24736: gcc -c -g -O2 conftest.c >&5
-configure:24742: $? = 0
-configure:24745: test -z || test ! -s conftest.err
-configure:24748: $? = 0
-configure:24751: test -s conftest.o
-configure:24754: $? = 0
-configure:24765: result: yes
-configure:24768: checking size of intmax_t
-configure:25080: gcc -o conftest -g -O2 conftest.c >&5
-configure:25083: $? = 0
-configure:25085: ./conftest
-configure:25088: $? = 0
-configure:25111: result: 8
-configure:25118: checking for uintmax_t
-configure:25142: gcc -c -g -O2 conftest.c >&5
-configure:25148: $? = 0
-configure:25151: test -z || test ! -s conftest.err
-configure:25154: $? = 0
-configure:25157: test -s conftest.o
-configure:25160: $? = 0
-configure:25171: result: yes
-configure:25174: checking size of uintmax_t
-configure:25486: gcc -o conftest -g -O2 conftest.c >&5
-configure:25489: $? = 0
-configure:25491: ./conftest
-configure:25494: $? = 0
-configure:25517: result: 8
-configure:25524: checking for intptr_t
-configure:25548: gcc -c -g -O2 conftest.c >&5
-configure:25554: $? = 0
-configure:25557: test -z || test ! -s conftest.err
-configure:25560: $? = 0
-configure:25563: test -s conftest.o
-configure:25566: $? = 0
-configure:25577: result: yes
-configure:25580: checking size of intptr_t
-configure:25892: gcc -o conftest -g -O2 conftest.c >&5
-configure:25895: $? = 0
-configure:25897: ./conftest
-configure:25900: $? = 0
-configure:25923: result: 4
-configure:25930: checking for uintptr_t
-configure:25954: gcc -c -g -O2 conftest.c >&5
-configure:25960: $? = 0
-configure:25963: test -z || test ! -s conftest.err
-configure:25966: $? = 0
-configure:25969: test -s conftest.o
-configure:25972: $? = 0
-configure:25983: result: yes
-configure:25986: checking size of uintptr_t
-configure:26298: gcc -o conftest -g -O2 conftest.c >&5
-configure:26301: $? = 0
-configure:26303: ./conftest
-configure:26306: $? = 0
-configure:26329: result: 4
-configure:26337: checking for float
-configure:26361: gcc -c -g -O2 conftest.c >&5
-configure:26367: $? = 0
-configure:26370: test -z || test ! -s conftest.err
-configure:26373: $? = 0
-configure:26376: test -s conftest.o
-configure:26379: $? = 0
-configure:26390: result: yes
-configure:26393: checking size of float
-configure:26705: gcc -o conftest -g -O2 conftest.c >&5
-configure:26708: $? = 0
-configure:26710: ./conftest
-configure:26713: $? = 0
-configure:26736: result: 4
-configure:26743: checking for double
-configure:26767: gcc -c -g -O2 conftest.c >&5
-configure:26773: $? = 0
-configure:26776: test -z || test ! -s conftest.err
-configure:26779: $? = 0
-configure:26782: test -s conftest.o
-configure:26785: $? = 0
-configure:26796: result: yes
-configure:26799: checking size of double
-configure:27111: gcc -o conftest -g -O2 conftest.c >&5
-configure:27114: $? = 0
-configure:27116: ./conftest
-configure:27119: $? = 0
-configure:27142: result: 8
-configure:27149: checking for long double
-configure:27173: gcc -c -g -O2 conftest.c >&5
-configure:27179: $? = 0
-configure:27182: test -z || test ! -s conftest.err
-configure:27185: $? = 0
-configure:27188: test -s conftest.o
-configure:27191: $? = 0
-configure:27202: result: yes
-configure:27205: checking size of long double
-configure:27517: gcc -o conftest -g -O2 conftest.c >&5
-configure:27520: $? = 0
-configure:27522: ./conftest
-configure:27525: $? = 0
-configure:27548: result: 12
-configure:27556: checking for dev_t
-configure:27580: gcc -c -g -O2 conftest.c >&5
-configure:27586: $? = 0
-configure:27589: test -z || test ! -s conftest.err
-configure:27592: $? = 0
-configure:27595: test -s conftest.o
-configure:27598: $? = 0
-configure:27609: result: yes
-configure:27612: checking size of dev_t
-configure:27924: gcc -o conftest -g -O2 conftest.c >&5
-configure:27927: $? = 0
-configure:27929: ./conftest
-configure:27932: $? = 0
-configure:27955: result: 8
-configure:27962: checking for fpos_t
-configure:27986: gcc -c -g -O2 conftest.c >&5
-configure:27992: $? = 0
-configure:27995: test -z || test ! -s conftest.err
-configure:27998: $? = 0
-configure:28001: test -s conftest.o
-configure:28004: $? = 0
-configure:28015: result: yes
-configure:28018: checking size of fpos_t
-configure:28330: gcc -o conftest -g -O2 conftest.c >&5
-configure:28333: $? = 0
-configure:28335: ./conftest
-configure:28338: $? = 0
-configure:28361: result: 16
-configure:28368: checking for mode_t
-configure:28392: gcc -c -g -O2 conftest.c >&5
-configure:28398: $? = 0
-configure:28401: test -z || test ! -s conftest.err
-configure:28404: $? = 0
-configure:28407: test -s conftest.o
-configure:28410: $? = 0
-configure:28421: result: yes
-configure:28424: checking size of mode_t
-configure:28736: gcc -o conftest -g -O2 conftest.c >&5
-configure:28739: $? = 0
-configure:28741: ./conftest
-configure:28744: $? = 0
-configure:28767: result: 4
-configure:28774: checking for off_t
-configure:28827: result: yes
-configure:28830: checking size of off_t
-configure:29142: gcc -o conftest -g -O2 conftest.c >&5
-configure:29145: $? = 0
-configure:29147: ./conftest
-configure:29150: $? = 0
-configure:29173: result: 8
-configure:29180: checking for ssize_t
-configure:29204: gcc -c -g -O2 conftest.c >&5
-configure:29210: $? = 0
-configure:29213: test -z || test ! -s conftest.err
-configure:29216: $? = 0
-configure:29219: test -s conftest.o
-configure:29222: $? = 0
-configure:29233: result: yes
-configure:29236: checking size of ssize_t
-configure:29548: gcc -o conftest -g -O2 conftest.c >&5
-configure:29551: $? = 0
-configure:29553: ./conftest
-configure:29556: $? = 0
-configure:29579: result: 4
-configure:29586: checking for time_t
-configure:29610: gcc -c -g -O2 conftest.c >&5
-configure:29616: $? = 0
-configure:29619: test -z || test ! -s conftest.err
-configure:29622: $? = 0
-configure:29625: test -s conftest.o
-configure:29628: $? = 0
-configure:29639: result: yes
-configure:29642: checking size of time_t
-configure:29954: gcc -o conftest -g -O2 conftest.c >&5
-configure:29957: $? = 0
-configure:29959: ./conftest
-configure:29962: $? = 0
-configure:29985: result: 4
-configure:30054: checking for access
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for alloca
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:105: warning: conflicting types for built-in function 'alloca'
-/tmp/ccme6UOI.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:120: undefined reference to `alloca'
-/tmp/ccme6UOI.o:(.data+0x0): undefined reference to `alloca'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| /* end confdefs.h. */
-| /* Define alloca to an innocuous variant, in case <limits.h> declares alloca.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define alloca innocuous_alloca
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char alloca (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef alloca
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char alloca ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_alloca) || defined (__stub___alloca)
-| choke me
-| #else
-| char (*f) () = alloca;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != alloca;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for atexit
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for atoi
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for atol
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for chmod
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for chown
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for clock_getcpuclockid
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-/tmp/ccGnuUlV.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:125: undefined reference to `clock_getcpuclockid'
-/tmp/ccGnuUlV.o:(.data+0x0): undefined reference to `clock_getcpuclockid'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| #define HAVE_ATEXIT 1
-| #define HAVE_ATOI 1
-| #define HAVE_ATOL 1
-| #define HAVE_CHMOD 1
-| #define HAVE_CHOWN 1
-| /* end confdefs.h. */
-| /* Define clock_getcpuclockid to an innocuous variant, in case <limits.h> declares clock_getcpuclockid.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define clock_getcpuclockid innocuous_clock_getcpuclockid
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char clock_getcpuclockid (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef clock_getcpuclockid
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char clock_getcpuclockid ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_clock_getcpuclockid) || defined (__stub___clock_getcpuclockid)
-| choke me
-| #else
-| char (*f) () = clock_getcpuclockid;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != clock_getcpuclockid;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for clock_getres
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-/tmp/ccBv98Oj.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:125: undefined reference to `clock_getres'
-/tmp/ccBv98Oj.o:(.data+0x0): undefined reference to `clock_getres'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| #define HAVE_ATEXIT 1
-| #define HAVE_ATOI 1
-| #define HAVE_ATOL 1
-| #define HAVE_CHMOD 1
-| #define HAVE_CHOWN 1
-| /* end confdefs.h. */
-| /* Define clock_getres to an innocuous variant, in case <limits.h> declares clock_getres.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define clock_getres innocuous_clock_getres
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char clock_getres (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef clock_getres
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char clock_getres ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_clock_getres) || defined (__stub___clock_getres)
-| choke me
-| #else
-| char (*f) () = clock_getres;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != clock_getres;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for clock_gettime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-/tmp/cc4IygxA.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:125: undefined reference to `clock_gettime'
-/tmp/cc4IygxA.o:(.data+0x0): undefined reference to `clock_gettime'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| #define HAVE_ATEXIT 1
-| #define HAVE_ATOI 1
-| #define HAVE_ATOL 1
-| #define HAVE_CHMOD 1
-| #define HAVE_CHOWN 1
-| /* end confdefs.h. */
-| /* Define clock_gettime to an innocuous variant, in case <limits.h> declares clock_gettime.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define clock_gettime innocuous_clock_gettime
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char clock_gettime (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef clock_gettime
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char clock_gettime ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_clock_gettime) || defined (__stub___clock_gettime)
-| choke me
-| #else
-| char (*f) () = clock_gettime;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != clock_gettime;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for ctime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for difftime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for fstat
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for getenv
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for getpagesize
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for getrusage
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for gettimeofday
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for gmtime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for isatty
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for localtime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for longjmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for lstat
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for memcmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:122: warning: conflicting types for built-in function 'memcmp'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for memcpy
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:123: warning: conflicting types for built-in function 'memcpy'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for memmove
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:124: warning: conflicting types for built-in function 'memmove'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for memset
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:125: warning: conflicting types for built-in function 'memset'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for mkdir
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for mktime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for mmap
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for mprotect
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for munmap
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for qsort
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for raise
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for rmdir
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for setjmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for signal
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for snprintf
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:136: warning: conflicting types for built-in function 'snprintf'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strcasecmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:137: warning: conflicting types for built-in function 'strcasecmp'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strchr
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:138: warning: conflicting types for built-in function 'strchr'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strdup
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:139: warning: conflicting types for built-in function 'strdup'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strerror
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strftime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:141: warning: conflicting types for built-in function 'strftime'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for stricmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-/tmp/ccGbcxXG.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:157: undefined reference to `stricmp'
-/tmp/ccGbcxXG.o:(.data+0x0): undefined reference to `stricmp'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| #define HAVE_ATEXIT 1
-| #define HAVE_ATOI 1
-| #define HAVE_ATOL 1
-| #define HAVE_CHMOD 1
-| #define HAVE_CHOWN 1
-| #define HAVE_CTIME 1
-| #define HAVE_DIFFTIME 1
-| #define HAVE_FSTAT 1
-| #define HAVE_GETENV 1
-| #define HAVE_GETPAGESIZE 1
-| #define HAVE_GETRUSAGE 1
-| #define HAVE_GETTIMEOFDAY 1
-| #define HAVE_GMTIME 1
-| #define HAVE_ISATTY 1
-| #define HAVE_LOCALTIME 1
-| #define HAVE_LONGJMP 1
-| #define HAVE_LSTAT 1
-| #define HAVE_MEMCMP 1
-| #define HAVE_MEMCPY 1
-| #define HAVE_MEMMOVE 1
-| #define HAVE_MEMSET 1
-| #define HAVE_MKDIR 1
-| #define HAVE_MKTIME 1
-| #define HAVE_MMAP 1
-| #define HAVE_MPROTECT 1
-| #define HAVE_MUNMAP 1
-| #define HAVE_QSORT 1
-| #define HAVE_RAISE 1
-| #define HAVE_RMDIR 1
-| #define HAVE_SETJMP 1
-| #define HAVE_SIGNAL 1
-| #define HAVE_SNPRINTF 1
-| #define HAVE_STRCASECMP 1
-| #define HAVE_STRCHR 1
-| #define HAVE_STRDUP 1
-| #define HAVE_STRERROR 1
-| #define HAVE_STRFTIME 1
-| /* end confdefs.h. */
-| /* Define stricmp to an innocuous variant, in case <limits.h> declares stricmp.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define stricmp innocuous_stricmp
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char stricmp (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef stricmp
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char stricmp ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_stricmp) || defined (__stub___stricmp)
-| choke me
-| #else
-| char (*f) () = stricmp;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != stricmp;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for strncasecmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:142: warning: conflicting types for built-in function 'strncasecmp'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strnicmp
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-/tmp/ccGIUI3y.o: In function `main':
-/home/fries/Development/android/source/external/lzo/conftest.c:158: undefined reference to `strnicmp'
-/tmp/ccGIUI3y.o:(.data+0x0): undefined reference to `strnicmp'
-collect2: ld returned 1 exit status
-configure:30117: $? = 1
-configure: failed program was:
-| /* confdefs.h. */
-|
-| #define PACKAGE_NAME "lzo"
-| #define PACKAGE_TARNAME "lzo"
-| #define PACKAGE_VERSION "2.03"
-| #define PACKAGE_STRING "lzo 2.03"
-| #define PACKAGE_BUGREPORT "markus@oberhumer.com"
-| #define LZO_ABI_LITTLE_ENDIAN 1
-| #define _FILE_OFFSET_BITS 64
-| #define PACKAGE "lzo"
-| #define VERSION "2.03"
-| #define STDC_HEADERS 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_INTTYPES_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_DLFCN_H 1
-| #ifdef __cplusplus
-| extern "C" void exit (int) throw ();
-| #endif
-| #define TIME_WITH_SYS_TIME 1
-| #define HAVE_ASSERT_H 1
-| #define HAVE_CTYPE_H 1
-| #define HAVE_DIRENT_H 1
-| #define HAVE_ERRNO_H 1
-| #define HAVE_FCNTL_H 1
-| #define HAVE_FLOAT_H 1
-| #define HAVE_LIMITS_H 1
-| #define HAVE_MALLOC_H 1
-| #define HAVE_MEMORY_H 1
-| #define HAVE_SETJMP_H 1
-| #define HAVE_SIGNAL_H 1
-| #define HAVE_STDARG_H 1
-| #define HAVE_STDDEF_H 1
-| #define HAVE_STDINT_H 1
-| #define HAVE_STDIO_H 1
-| #define HAVE_STDLIB_H 1
-| #define HAVE_STRING_H 1
-| #define HAVE_STRINGS_H 1
-| #define HAVE_TIME_H 1
-| #define HAVE_UNISTD_H 1
-| #define HAVE_UTIME_H 1
-| #define HAVE_SYS_MMAN_H 1
-| #define HAVE_SYS_RESOURCE_H 1
-| #define HAVE_SYS_STAT_H 1
-| #define HAVE_SYS_TIME_H 1
-| #define HAVE_SYS_TYPES_H 1
-| #define HAVE_SYS_WAIT_H 1
-| #define RETSIGTYPE void
-| #define SIZEOF_SHORT 2
-| #define SIZEOF_INT 4
-| #define SIZEOF_LONG 4
-| #define SIZEOF_LONG_LONG 8
-| #define SIZEOF___INT16 0
-| #define SIZEOF___INT32 0
-| #define SIZEOF___INT64 0
-| #define SIZEOF_VOID_P 4
-| #define SIZEOF_SIZE_T 4
-| #define SIZEOF_PTRDIFF_T 4
-| #define SIZEOF___INT32 0
-| #define SIZEOF_INTMAX_T 8
-| #define SIZEOF_UINTMAX_T 8
-| #define SIZEOF_INTPTR_T 4
-| #define SIZEOF_UINTPTR_T 4
-| #define SIZEOF_FLOAT 4
-| #define SIZEOF_DOUBLE 8
-| #define SIZEOF_LONG_DOUBLE 12
-| #define SIZEOF_DEV_T 8
-| #define SIZEOF_FPOS_T 16
-| #define SIZEOF_MODE_T 4
-| #define SIZEOF_OFF_T 8
-| #define SIZEOF_SSIZE_T 4
-| #define SIZEOF_TIME_T 4
-| #define HAVE_ACCESS 1
-| #define HAVE_ATEXIT 1
-| #define HAVE_ATOI 1
-| #define HAVE_ATOL 1
-| #define HAVE_CHMOD 1
-| #define HAVE_CHOWN 1
-| #define HAVE_CTIME 1
-| #define HAVE_DIFFTIME 1
-| #define HAVE_FSTAT 1
-| #define HAVE_GETENV 1
-| #define HAVE_GETPAGESIZE 1
-| #define HAVE_GETRUSAGE 1
-| #define HAVE_GETTIMEOFDAY 1
-| #define HAVE_GMTIME 1
-| #define HAVE_ISATTY 1
-| #define HAVE_LOCALTIME 1
-| #define HAVE_LONGJMP 1
-| #define HAVE_LSTAT 1
-| #define HAVE_MEMCMP 1
-| #define HAVE_MEMCPY 1
-| #define HAVE_MEMMOVE 1
-| #define HAVE_MEMSET 1
-| #define HAVE_MKDIR 1
-| #define HAVE_MKTIME 1
-| #define HAVE_MMAP 1
-| #define HAVE_MPROTECT 1
-| #define HAVE_MUNMAP 1
-| #define HAVE_QSORT 1
-| #define HAVE_RAISE 1
-| #define HAVE_RMDIR 1
-| #define HAVE_SETJMP 1
-| #define HAVE_SIGNAL 1
-| #define HAVE_SNPRINTF 1
-| #define HAVE_STRCASECMP 1
-| #define HAVE_STRCHR 1
-| #define HAVE_STRDUP 1
-| #define HAVE_STRERROR 1
-| #define HAVE_STRFTIME 1
-| #define HAVE_STRNCASECMP 1
-| /* end confdefs.h. */
-| /* Define strnicmp to an innocuous variant, in case <limits.h> declares strnicmp.
-| For example, HP-UX 11i <limits.h> declares gettimeofday. */
-| #define strnicmp innocuous_strnicmp
-|
-| /* System header to define __stub macros and hopefully few prototypes,
-| which can conflict with char strnicmp (); below.
-| Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-| <limits.h> exists even on freestanding compilers. */
-|
-| #ifdef __STDC__
-| # include <limits.h>
-| #else
-| # include <assert.h>
-| #endif
-|
-| #undef strnicmp
-|
-| /* Override any gcc2 internal prototype to avoid an error. */
-| #ifdef __cplusplus
-| extern "C"
-| {
-| #endif
-| /* We use char because int might match the return type of a gcc2
-| builtin and then its argument prototype would still apply. */
-| char strnicmp ();
-| /* The GNU C library defines this for functions which it implements
-| to always fail with ENOSYS. Some functions are actually named
-| something starting with __ and the normal name is an alias. */
-| #if defined (__stub_strnicmp) || defined (__stub___strnicmp)
-| choke me
-| #else
-| char (*f) () = strnicmp;
-| #endif
-| #ifdef __cplusplus
-| }
-| #endif
-|
-| int
-| main ()
-| {
-| return f != strnicmp;
-| ;
-| return 0;
-| }
-configure:30141: result: no
-configure:30054: checking for strrchr
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:143: warning: conflicting types for built-in function 'strrchr'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for strstr
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:144: warning: conflicting types for built-in function 'strstr'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for time
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for umask
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for utime
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30054: checking for vsnprintf
-configure:30111: gcc -o conftest -g -O2 conftest.c >&5
-conftest.c:148: warning: conflicting types for built-in function 'vsnprintf'
-configure:30117: $? = 0
-configure:30120: test -z || test ! -s conftest.err
-configure:30123: $? = 0
-configure:30126: test -s conftest
-configure:30129: $? = 0
-configure:30141: result: yes
-configure:30174: checking whether your compiler passes the ACC conformance test
-configure:30224: gcc -c -g -O2 -I. conftest.c >&5
-configure:30230: $? = 0
-configure:30233: test -z || test ! -s conftest.err
-configure:30236: $? = 0
-configure:30239: test -s conftest.o
-configure:30242: $? = 0
-configure:30255: result: yes
-configure:30430: creating ./config.status
-
-## ---------------------- ##
-## Running config.status. ##
-## ---------------------- ##
-
-This file was extended by lzo config.status 2.03, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES =
- CONFIG_HEADERS =
- CONFIG_LINKS =
- CONFIG_COMMANDS =
- $ ./config.status
-
-on dune
-
-config.status:776: creating Makefile
-config.status:776: creating examples/Makefile
-config.status:776: creating include/Makefile
-config.status:776: creating include/lzo/Makefile
-config.status:776: creating lzotest/Makefile
-config.status:776: creating minilzo/Makefile
-config.status:776: creating src/Makefile
-config.status:776: creating tests/Makefile
-config.status:842: creating config.h
-config.status:1384: executing depfiles commands
-
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-
-ac_cv_build=i686-pc-linux-gnu
-ac_cv_build_alias=i686-pc-linux-gnu
-ac_cv_c_bigendian=no
-ac_cv_c_compiler_gnu=yes
-ac_cv_c_const=yes
-ac_cv_cxx_compiler_gnu=yes
-ac_cv_env_CC_set=
-ac_cv_env_CC_value=
-ac_cv_env_CFLAGS_set=
-ac_cv_env_CFLAGS_value=
-ac_cv_env_CPPFLAGS_set=
-ac_cv_env_CPPFLAGS_value=
-ac_cv_env_CPP_set=
-ac_cv_env_CPP_value=
-ac_cv_env_CXXCPP_set=
-ac_cv_env_CXXCPP_value=
-ac_cv_env_CXXFLAGS_set=
-ac_cv_env_CXXFLAGS_value=
-ac_cv_env_CXX_set=
-ac_cv_env_CXX_value=
-ac_cv_env_F77_set=
-ac_cv_env_F77_value=
-ac_cv_env_FFLAGS_set=
-ac_cv_env_FFLAGS_value=
-ac_cv_env_LDFLAGS_set=
-ac_cv_env_LDFLAGS_value=
-ac_cv_env_build_alias_set=
-ac_cv_env_build_alias_value=
-ac_cv_env_host_alias_set=
-ac_cv_env_host_alias_value=
-ac_cv_env_target_alias_set=
-ac_cv_env_target_alias_value=
-ac_cv_exeext=
-ac_cv_f77_compiler_gnu=no
-ac_cv_func_access=yes
-ac_cv_func_alloca=no
-ac_cv_func_atexit=yes
-ac_cv_func_atoi=yes
-ac_cv_func_atol=yes
-ac_cv_func_chmod=yes
-ac_cv_func_chown=yes
-ac_cv_func_clock_getcpuclockid=no
-ac_cv_func_clock_getres=no
-ac_cv_func_clock_gettime=no
-ac_cv_func_ctime=yes
-ac_cv_func_difftime=yes
-ac_cv_func_fstat=yes
-ac_cv_func_getenv=yes
-ac_cv_func_getpagesize=yes
-ac_cv_func_getrusage=yes
-ac_cv_func_gettimeofday=yes
-ac_cv_func_gmtime=yes
-ac_cv_func_isatty=yes
-ac_cv_func_localtime=yes
-ac_cv_func_longjmp=yes
-ac_cv_func_lstat=yes
-ac_cv_func_memcmp=yes
-ac_cv_func_memcpy=yes
-ac_cv_func_memmove=yes
-ac_cv_func_memset=yes
-ac_cv_func_mkdir=yes
-ac_cv_func_mktime=yes
-ac_cv_func_mmap=yes
-ac_cv_func_mprotect=yes
-ac_cv_func_munmap=yes
-ac_cv_func_qsort=yes
-ac_cv_func_raise=yes
-ac_cv_func_rmdir=yes
-ac_cv_func_setjmp=yes
-ac_cv_func_signal=yes
-ac_cv_func_snprintf=yes
-ac_cv_func_strcasecmp=yes
-ac_cv_func_strchr=yes
-ac_cv_func_strdup=yes
-ac_cv_func_strerror=yes
-ac_cv_func_strftime=yes
-ac_cv_func_stricmp=no
-ac_cv_func_strncasecmp=yes
-ac_cv_func_strnicmp=no
-ac_cv_func_strrchr=yes
-ac_cv_func_strstr=yes
-ac_cv_func_time=yes
-ac_cv_func_umask=yes
-ac_cv_func_utime=yes
-ac_cv_func_vsnprintf=yes
-ac_cv_header_assert_h=yes
-ac_cv_header_ctype_h=yes
-ac_cv_header_dirent_h=yes
-ac_cv_header_dlfcn_h=yes
-ac_cv_header_errno_h=yes
-ac_cv_header_fcntl_h=yes
-ac_cv_header_float_h=yes
-ac_cv_header_inttypes_h=yes
-ac_cv_header_limits_h=yes
-ac_cv_header_malloc_h=yes
-ac_cv_header_memory_h=yes
-ac_cv_header_setjmp_h=yes
-ac_cv_header_signal_h=yes
-ac_cv_header_stdarg_h=yes
-ac_cv_header_stdc=yes
-ac_cv_header_stddef_h=yes
-ac_cv_header_stdint_h=yes
-ac_cv_header_stdio_h=yes
-ac_cv_header_stdlib_h=yes
-ac_cv_header_string_h=yes
-ac_cv_header_strings_h=yes
-ac_cv_header_sys_mman_h=yes
-ac_cv_header_sys_resource_h=yes
-ac_cv_header_sys_stat_h=yes
-ac_cv_header_sys_time_h=yes
-ac_cv_header_sys_types_h=yes
-ac_cv_header_sys_wait_h=yes
-ac_cv_header_time=yes
-ac_cv_header_time_h=yes
-ac_cv_header_unistd_h=yes
-ac_cv_header_utime_h=yes
-ac_cv_host=i686-pc-linux-gnu
-ac_cv_host_alias=i686-pc-linux-gnu
-ac_cv_objext=o
-ac_cv_path_install='/usr/bin/install -c'
-ac_cv_prog_AWK=mawk
-ac_cv_prog_CPP='gcc -E'
-ac_cv_prog_CXXCPP='g++ -E'
-ac_cv_prog_ac_ct_AR=ar
-ac_cv_prog_ac_ct_CC=gcc
-ac_cv_prog_ac_ct_CXX=g++
-ac_cv_prog_ac_ct_RANLIB=ranlib
-ac_cv_prog_ac_ct_STRIP=strip
-ac_cv_prog_cc_g=yes
-ac_cv_prog_cc_stdc=
-ac_cv_prog_cxx_g=yes
-ac_cv_prog_egrep='grep -E'
-ac_cv_prog_f77_g=no
-ac_cv_prog_make_make_set=yes
-ac_cv_sizeof___int16=0
-ac_cv_sizeof___int32=0
-ac_cv_sizeof___int64=0
-ac_cv_sizeof_dev_t=8
-ac_cv_sizeof_double=8
-ac_cv_sizeof_float=4
-ac_cv_sizeof_fpos_t=16
-ac_cv_sizeof_int=4
-ac_cv_sizeof_intmax_t=8
-ac_cv_sizeof_intptr_t=4
-ac_cv_sizeof_long=4
-ac_cv_sizeof_long_double=12
-ac_cv_sizeof_long_long=8
-ac_cv_sizeof_mode_t=4
-ac_cv_sizeof_off_t=8
-ac_cv_sizeof_ptrdiff_t=4
-ac_cv_sizeof_short=2
-ac_cv_sizeof_size_t=4
-ac_cv_sizeof_ssize_t=4
-ac_cv_sizeof_time_t=4
-ac_cv_sizeof_uintmax_t=8
-ac_cv_sizeof_uintptr_t=4
-ac_cv_sizeof_void_p=4
-ac_cv_sys_file_offset_bits=64
-ac_cv_sys_large_files=no
-ac_cv_sys_largefile_CC=no
-ac_cv_target=i686-pc-linux-gnu
-ac_cv_target_alias=i686-pc-linux-gnu
-ac_cv_type___int16=no
-ac_cv_type___int32=no
-ac_cv_type___int64=no
-ac_cv_type_dev_t=yes
-ac_cv_type_double=yes
-ac_cv_type_float=yes
-ac_cv_type_fpos_t=yes
-ac_cv_type_int=yes
-ac_cv_type_intmax_t=yes
-ac_cv_type_intptr_t=yes
-ac_cv_type_long=yes
-ac_cv_type_long_double=yes
-ac_cv_type_long_long=yes
-ac_cv_type_mode_t=yes
-ac_cv_type_off_t=yes
-ac_cv_type_ptrdiff_t=yes
-ac_cv_type_short=yes
-ac_cv_type_signal=void
-ac_cv_type_size_t=yes
-ac_cv_type_ssize_t=yes
-ac_cv_type_time_t=yes
-ac_cv_type_uintmax_t=yes
-ac_cv_type_uintptr_t=yes
-ac_cv_type_void_p=yes
-am_cv_CC_dependencies_compiler_type=gcc3
-am_cv_CXX_dependencies_compiler_type=gcc3
-lt_cv_deplibs_check_method=pass_all
-lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_ld_reload_flag=-r
-lt_cv_objdir=.libs
-lt_cv_path_LD=/usr/bin/ld
-lt_cv_path_LDCXX=/usr/bin/ld
-lt_cv_path_NM='/usr/bin/nm -B'
-lt_cv_path_SED=/bin/sed
-lt_cv_prog_compiler_c_o=yes
-lt_cv_prog_compiler_c_o_CXX=yes
-lt_cv_prog_compiler_rtti_exceptions=no
-lt_cv_prog_gnu_ld=yes
-lt_cv_prog_gnu_ldcxx=yes
-lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''
-lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\'''
-lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\'''
-lt_cv_sys_max_cmd_len=32768
-lt_lt_cv_prog_compiler_c_o='"yes"'
-lt_lt_cv_prog_compiler_c_o_CXX='"yes"'
-lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"'
-lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"'
-lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"'
-mfx_cv_header_sane_limits_h=yes
-
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-
-ACLOCAL='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9'
-AMDEPBACKSLASH='\'
-AMDEP_FALSE='#'
-AMDEP_TRUE=''
-AMTAR='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar'
-AR='ar'
-AUTOCONF='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf'
-AUTOHEADER='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader'
-AUTOMAKE='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9'
-AWK='mawk'
-CC='gcc'
-CCDEPMODE='depmode=gcc3'
-CFLAGS='-g -O2'
-CPP='gcc -E'
-CPPFLAGS='-DLZO_HAVE_CONFIG_H -DLZO_USE_ASM'
-CXX='g++'
-CXXCPP='g++ -E'
-CXXDEPMODE='depmode=gcc3'
-CXXFLAGS='-g -O2'
-CYGPATH_W='echo'
-DEFS='-DHAVE_CONFIG_H'
-DEPDIR='.deps'
-ECHO='echo'
-ECHO_C=''
-ECHO_N='-n'
-ECHO_T=''
-EGREP='grep -E'
-EXEEXT=''
-F77=''
-FFLAGS=''
-INSTALL_DATA='${INSTALL} -m 644'
-INSTALL_PROGRAM='${INSTALL}'
-INSTALL_SCRIPT='${INSTALL}'
-INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
-LDFLAGS=''
-LIBOBJS=''
-LIBS=''
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-LN_S='ln -s'
-LTLIBOBJS=''
-LZO_ASM_VPATH=':/home/fries/Development/android/source/external/lzo/asm/i386/src_gas'
-LZO_CFLAGS=''
-LZO_CPPFLAGS=''
-LZO_EXTRA_CFLAGS=''
-LZO_EXTRA_CPPFLAGS=''
-LZO_USE_ASM_FALSE='#'
-LZO_USE_ASM_TRUE=''
-MAINT='#'
-MAINTAINER_MODE_FALSE=''
-MAINTAINER_MODE_TRUE='#'
-MAKEINFO='${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo'
-OBJEXT='o'
-PACKAGE='lzo'
-PACKAGE_BUGREPORT='markus@oberhumer.com'
-PACKAGE_NAME='lzo'
-PACKAGE_STRING='lzo 2.03'
-PACKAGE_TARNAME='lzo'
-PACKAGE_VERSION='2.03'
-PATH_SEPARATOR=':'
-RANLIB='ranlib'
-SET_MAKE=''
-SHELL='/bin/bash'
-STRIP='strip'
-VERSION='2.03'
-ac_ct_AR='ar'
-ac_ct_CC='gcc'
-ac_ct_CXX='g++'
-ac_ct_F77=''
-ac_ct_RANLIB='ranlib'
-ac_ct_STRIP='strip'
-am__fastdepCC_FALSE='#'
-am__fastdepCC_TRUE=''
-am__fastdepCXX_FALSE='#'
-am__fastdepCXX_TRUE=''
-am__include='include'
-am__leading_dot='.'
-am__quote=''
-am__tar='${AMTAR} chof - "$$tardir"'
-am__untar='${AMTAR} xf -'
-bindir='${exec_prefix}/bin'
-build='i686-pc-linux-gnu'
-build_alias=''
-build_cpu='i686'
-build_os='linux-gnu'
-build_vendor='pc'
-configure_CFLAGS='-g -O2'
-configure_CPPFLAGS='-DLZO_HAVE_CONFIG_H -DLZO_USE_ASM'
-datadir='${prefix}/share'
-exec_prefix='${prefix}'
-host='i686-pc-linux-gnu'
-host_alias=''
-host_cpu='i686'
-host_os='linux-gnu'
-host_vendor='pc'
-includedir='${prefix}/include'
-infodir='${prefix}/info'
-install_sh='/home/fries/Development/android/source/external/lzo/autoconf/install-sh'
-libdir='${exec_prefix}/lib'
-libexecdir='${exec_prefix}/libexec'
-localstatedir='${prefix}/var'
-mandir='${prefix}/man'
-mkdir_p='mkdir -p --'
-oldincludedir='/usr/include'
-prefix='/usr/local'
-program_transform_name='s,x,x,'
-sbindir='${exec_prefix}/sbin'
-sharedstatedir='${prefix}/com'
-sysconfdir='${prefix}/etc'
-target='i686-pc-linux-gnu'
-target_alias=''
-target_cpu='i686'
-target_os='linux-gnu'
-target_vendor='pc'
-
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-
-#define HAVE_ACCESS 1
-#define HAVE_ASSERT_H 1
-#define HAVE_ATEXIT 1
-#define HAVE_ATOI 1
-#define HAVE_ATOL 1
-#define HAVE_CHMOD 1
-#define HAVE_CHOWN 1
-#define HAVE_CTIME 1
-#define HAVE_CTYPE_H 1
-#define HAVE_DIFFTIME 1
-#define HAVE_DIRENT_H 1
-#define HAVE_DLFCN_H 1
-#define HAVE_ERRNO_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_FLOAT_H 1
-#define HAVE_FSTAT 1
-#define HAVE_GETENV 1
-#define HAVE_GETPAGESIZE 1
-#define HAVE_GETRUSAGE 1
-#define HAVE_GETTIMEOFDAY 1
-#define HAVE_GMTIME 1
-#define HAVE_INTTYPES_H 1
-#define HAVE_ISATTY 1
-#define HAVE_LIMITS_H 1
-#define HAVE_LOCALTIME 1
-#define HAVE_LONGJMP 1
-#define HAVE_LSTAT 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMCMP 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMORY_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_MEMSET 1
-#define HAVE_MKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_MMAP 1
-#define HAVE_MPROTECT 1
-#define HAVE_MUNMAP 1
-#define HAVE_QSORT 1
-#define HAVE_RAISE 1
-#define HAVE_RMDIR 1
-#define HAVE_SETJMP 1
-#define HAVE_SETJMP_H 1
-#define HAVE_SIGNAL 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_SNPRINTF 1
-#define HAVE_STDARG_H 1
-#define HAVE_STDDEF_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDINT_H 1
-#define HAVE_STDIO_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRCHR 1
-#define HAVE_STRDUP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRINGS_H 1
-#define HAVE_STRINGS_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_SYS_MMAN_H 1
-#define HAVE_SYS_RESOURCE_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_WAIT_H 1
-#define HAVE_TIME 1
-#define HAVE_TIME_H 1
-#define HAVE_UMASK 1
-#define HAVE_UNISTD_H 1
-#define HAVE_UNISTD_H 1
-#define HAVE_UTIME 1
-#define HAVE_UTIME_H 1
-#define HAVE_VSNPRINTF 1
-#define LZO_ABI_LITTLE_ENDIAN 1
-#define PACKAGE "lzo"
-#define PACKAGE_BUGREPORT "markus@oberhumer.com"
-#define PACKAGE_NAME "lzo"
-#define PACKAGE_STRING "lzo 2.03"
-#define PACKAGE_TARNAME "lzo"
-#define PACKAGE_VERSION "2.03"
-#define RETSIGTYPE void
-#define SIZEOF_DEV_T 8
-#define SIZEOF_DOUBLE 8
-#define SIZEOF_FLOAT 4
-#define SIZEOF_FPOS_T 16
-#define SIZEOF_INT 4
-#define SIZEOF_INTMAX_T 8
-#define SIZEOF_INTPTR_T 4
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_DOUBLE 12
-#define SIZEOF_LONG_LONG 8
-#define SIZEOF_MODE_T 4
-#define SIZEOF_OFF_T 8
-#define SIZEOF_PTRDIFF_T 4
-#define SIZEOF_SHORT 2
-#define SIZEOF_SIZE_T 4
-#define SIZEOF_SSIZE_T 4
-#define SIZEOF_TIME_T 4
-#define SIZEOF_UINTMAX_T 8
-#define SIZEOF_UINTPTR_T 4
-#define SIZEOF_VOID_P 4
-#define SIZEOF___INT16 0
-#define SIZEOF___INT32 0
-#define SIZEOF___INT32 0
-#define SIZEOF___INT64 0
-#define STDC_HEADERS 1
-#define TIME_WITH_SYS_TIME 1
-#define VERSION "2.03"
-#define _FILE_OFFSET_BITS 64
-#endif
-#ifdef __cplusplus
-extern "C" void exit (int) throw ();
-
-configure: exit 0
diff --git a/main/lzo/config.status b/main/lzo/config.status
deleted file mode 100755
index 4d39ecc0..00000000
--- a/main/lzo/config.status
+++ /dev/null
@@ -1,1475 +0,0 @@
-#! /bin/bash
-# Generated by configure.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=${CONFIG_SHELL-/bin/bash}
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by lzo $as_me 2.03, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-config_files=" Makefile examples/Makefile include/Makefile include/lzo/Makefile lzotest/Makefile minilzo/Makefile src/Makefile tests/Makefile"
-config_headers=" config.h:config.hin"
-config_commands=" depfiles"
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-ac_cs_version="\
-lzo config.status 2.03
-configured by ./configure, generated by GNU Autoconf 2.59,
- with options \"\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=.
-INSTALL="/usr/bin/install -c"
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-if $ac_cs_recheck; then
- echo "running /bin/bash ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6
- exec /bin/bash ./configure $ac_configure_extra_args --no-create --no-recursion
-fi
-
-#
-# INIT-COMMANDS section.
-#
-
-AMDEP_TRUE="" ac_aux_dir="autoconf"
-
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
- "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "include/lzo/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/lzo/Makefile" ;;
- "lzotest/Makefile" ) CONFIG_FILES="$CONFIG_FILES lzotest/Makefile" ;;
- "minilzo/Makefile" ) CONFIG_FILES="$CONFIG_FILES minilzo/Makefile" ;;
- "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
- "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
-s,@SHELL@,/bin/bash,;t t
-s,@PATH_SEPARATOR@,:,;t t
-s,@PACKAGE_NAME@,lzo,;t t
-s,@PACKAGE_TARNAME@,lzo,;t t
-s,@PACKAGE_VERSION@,2.03,;t t
-s,@PACKAGE_STRING@,lzo 2.03,;t t
-s,@PACKAGE_BUGREPORT@,markus@oberhumer.com,;t t
-s,@exec_prefix@,${prefix},;t t
-s,@prefix@,/usr/local,;t t
-s,@program_transform_name@,s,x,x,,;t t
-s,@bindir@,${exec_prefix}/bin,;t t
-s,@sbindir@,${exec_prefix}/sbin,;t t
-s,@libexecdir@,${exec_prefix}/libexec,;t t
-s,@datadir@,${prefix}/share,;t t
-s,@sysconfdir@,${prefix}/etc,;t t
-s,@sharedstatedir@,${prefix}/com,;t t
-s,@localstatedir@,${prefix}/var,;t t
-s,@libdir@,${exec_prefix}/lib,;t t
-s,@includedir@,${prefix}/include,;t t
-s,@oldincludedir@,/usr/include,;t t
-s,@infodir@,${prefix}/info,;t t
-s,@mandir@,${prefix}/man,;t t
-s,@build_alias@,,;t t
-s,@host_alias@,,;t t
-s,@target_alias@,,;t t
-s,@DEFS@,-DHAVE_CONFIG_H,;t t
-s,@ECHO_C@,,;t t
-s,@ECHO_N@,-n,;t t
-s,@ECHO_T@,,;t t
-s,@LIBS@,,;t t
-s,@build@,i686-pc-linux-gnu,;t t
-s,@build_cpu@,i686,;t t
-s,@build_vendor@,pc,;t t
-s,@build_os@,linux-gnu,;t t
-s,@host@,i686-pc-linux-gnu,;t t
-s,@host_cpu@,i686,;t t
-s,@host_vendor@,pc,;t t
-s,@host_os@,linux-gnu,;t t
-s,@target@,i686-pc-linux-gnu,;t t
-s,@target_cpu@,i686,;t t
-s,@target_vendor@,pc,;t t
-s,@target_os@,linux-gnu,;t t
-s,@MAINTAINER_MODE_TRUE@,#,;t t
-s,@MAINTAINER_MODE_FALSE@,,;t t
-s,@MAINT@,#,;t t
-s,@CC@,gcc,;t t
-s,@CFLAGS@,-g -O2,;t t
-s,@LDFLAGS@,,;t t
-s,@CPPFLAGS@,-DLZO_HAVE_CONFIG_H -DLZO_USE_ASM,;t t
-s,@ac_ct_CC@,gcc,;t t
-s,@EXEEXT@,,;t t
-s,@OBJEXT@,o,;t t
-s,@CPP@,gcc -E,;t t
-s,@INSTALL_PROGRAM@,${INSTALL},;t t
-s,@INSTALL_SCRIPT@,${INSTALL},;t t
-s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
-s,@CYGPATH_W@,echo,;t t
-s,@PACKAGE@,lzo,;t t
-s,@VERSION@,2.03,;t t
-s,@ACLOCAL@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9,;t t
-s,@AUTOCONF@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf,;t t
-s,@AUTOMAKE@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9,;t t
-s,@AUTOHEADER@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader,;t t
-s,@MAKEINFO@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo,;t t
-s,@install_sh@,/home/fries/Development/android/source/external/lzo/autoconf/install-sh,;t t
-s,@STRIP@,strip,;t t
-s,@ac_ct_STRIP@,strip,;t t
-s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t
-s,@mkdir_p@,mkdir -p --,;t t
-s,@AWK@,mawk,;t t
-s,@SET_MAKE@,,;t t
-s,@am__leading_dot@,.,;t t
-s,@AMTAR@,${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar,;t t
-s,@am__tar@,${AMTAR} chof - "$$tardir",;t t
-s,@am__untar@,${AMTAR} xf -,;t t
-s,@DEPDIR@,.deps,;t t
-s,@am__include@,include,;t t
-s,@am__quote@,,;t t
-s,@AMDEP_TRUE@,,;t t
-s,@AMDEP_FALSE@,#,;t t
-s,@AMDEPBACKSLASH@,\,;t t
-s,@CCDEPMODE@,depmode=gcc3,;t t
-s,@am__fastdepCC_TRUE@,,;t t
-s,@am__fastdepCC_FALSE@,#,;t t
-s,@EGREP@,grep -E,;t t
-s,@LN_S@,ln -s,;t t
-s,@ECHO@,echo,;t t
-s,@AR@,ar,;t t
-s,@ac_ct_AR@,ar,;t t
-s,@RANLIB@,ranlib,;t t
-s,@ac_ct_RANLIB@,ranlib,;t t
-s,@CXX@,g++,;t t
-s,@CXXFLAGS@,-g -O2,;t t
-s,@ac_ct_CXX@,g++,;t t
-s,@CXXDEPMODE@,depmode=gcc3,;t t
-s,@am__fastdepCXX_TRUE@,,;t t
-s,@am__fastdepCXX_FALSE@,#,;t t
-s,@CXXCPP@,g++ -E,;t t
-s,@F77@,,;t t
-s,@FFLAGS@,,;t t
-s,@ac_ct_F77@,,;t t
-s,@LIBTOOL@,$(SHELL) $(top_builddir)/libtool,;t t
-s,@LZO_USE_ASM_TRUE@,,;t t
-s,@LZO_USE_ASM_FALSE@,#,;t t
-s,@LZO_ASM_VPATH@,:/home/fries/Development/android/source/external/lzo/asm/i386/src_gas,;t t
-s,@LZO_CPPFLAGS@,,;t t
-s,@LZO_EXTRA_CPPFLAGS@,,;t t
-s,@LZO_CFLAGS@,,;t t
-s,@LZO_EXTRA_CFLAGS@,,;t t
-s,@configure_CPPFLAGS@,-DLZO_HAVE_CONFIG_H -DLZO_USE_ASM,;t t
-s,@configure_CFLAGS@,-g -O2,;t t
-s,@LIBOBJS@,,;t t
-s,@LTLIBOBJS@,,;t t
-CEOF
-
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- sed "/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}
-
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
- # Handle all the #define templates only if necessary.
- if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then
- # If there are no defines, we may have an empty if/fi
- :
- cat >$tmp/defines.sed <<CEOF
-/^[ ]*#[ ]*define/!b
-t clr
-: clr
-${ac_dA}PACKAGE_NAME${ac_dB}PACKAGE_NAME${ac_dC}"lzo"${ac_dD}
-${ac_dA}PACKAGE_TARNAME${ac_dB}PACKAGE_TARNAME${ac_dC}"lzo"${ac_dD}
-${ac_dA}PACKAGE_VERSION${ac_dB}PACKAGE_VERSION${ac_dC}"2.03"${ac_dD}
-${ac_dA}PACKAGE_STRING${ac_dB}PACKAGE_STRING${ac_dC}"lzo 2.03"${ac_dD}
-${ac_dA}PACKAGE_BUGREPORT${ac_dB}PACKAGE_BUGREPORT${ac_dC}"markus@oberhumer.com"${ac_dD}
-${ac_dA}LZO_ABI_LITTLE_ENDIAN${ac_dB}LZO_ABI_LITTLE_ENDIAN${ac_dC}1${ac_dD}
-${ac_dA}_FILE_OFFSET_BITS${ac_dB}_FILE_OFFSET_BITS${ac_dC}64${ac_dD}
-${ac_dA}PACKAGE${ac_dB}PACKAGE${ac_dC}"lzo"${ac_dD}
-${ac_dA}VERSION${ac_dB}VERSION${ac_dC}"2.03"${ac_dD}
-${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD}
-${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_ASSERT_H${ac_dB}HAVE_ASSERT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_CTYPE_H${ac_dB}HAVE_CTYPE_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_DIRENT_H${ac_dB}HAVE_DIRENT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_ERRNO_H${ac_dB}HAVE_ERRNO_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_FLOAT_H${ac_dB}HAVE_FLOAT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MALLOC_H${ac_dB}HAVE_MALLOC_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SETJMP_H${ac_dB}HAVE_SETJMP_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SIGNAL_H${ac_dB}HAVE_SIGNAL_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDARG_H${ac_dB}HAVE_STDARG_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDDEF_H${ac_dB}HAVE_STDDEF_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDIO_H${ac_dB}HAVE_STDIO_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
-CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/defines.sed <<CEOF
-/^[ ]*#[ ]*define/!b
-t clr
-: clr
-${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_TIME_H${ac_dB}HAVE_TIME_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UTIME_H${ac_dB}HAVE_UTIME_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_MMAN_H${ac_dB}HAVE_SYS_MMAN_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_RESOURCE_H${ac_dB}HAVE_SYS_RESOURCE_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SYS_WAIT_H${ac_dB}HAVE_SYS_WAIT_H${ac_dC}1${ac_dD}
-${ac_dA}RETSIGTYPE${ac_dB}RETSIGTYPE${ac_dC}void${ac_dD}
-${ac_dA}SIZEOF_SHORT${ac_dB}SIZEOF_SHORT${ac_dC}2${ac_dD}
-${ac_dA}SIZEOF_INT${ac_dB}SIZEOF_INT${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_LONG${ac_dB}SIZEOF_LONG${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_LONG_LONG${ac_dB}SIZEOF_LONG_LONG${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF___INT16${ac_dB}SIZEOF___INT16${ac_dC}0${ac_dD}
-${ac_dA}SIZEOF___INT32${ac_dB}SIZEOF___INT32${ac_dC}0${ac_dD}
-${ac_dA}SIZEOF___INT64${ac_dB}SIZEOF___INT64${ac_dC}0${ac_dD}
-${ac_dA}SIZEOF_VOID_P${ac_dB}SIZEOF_VOID_P${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_SIZE_T${ac_dB}SIZEOF_SIZE_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_PTRDIFF_T${ac_dB}SIZEOF_PTRDIFF_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF___INT32${ac_dB}SIZEOF___INT32${ac_dC}0${ac_dD}
-${ac_dA}SIZEOF_INTMAX_T${ac_dB}SIZEOF_INTMAX_T${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF_UINTMAX_T${ac_dB}SIZEOF_UINTMAX_T${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF_INTPTR_T${ac_dB}SIZEOF_INTPTR_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_UINTPTR_T${ac_dB}SIZEOF_UINTPTR_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_FLOAT${ac_dB}SIZEOF_FLOAT${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_DOUBLE${ac_dB}SIZEOF_DOUBLE${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF_LONG_DOUBLE${ac_dB}SIZEOF_LONG_DOUBLE${ac_dC}12${ac_dD}
-${ac_dA}SIZEOF_DEV_T${ac_dB}SIZEOF_DEV_T${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF_FPOS_T${ac_dB}SIZEOF_FPOS_T${ac_dC}16${ac_dD}
-${ac_dA}SIZEOF_MODE_T${ac_dB}SIZEOF_MODE_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_OFF_T${ac_dB}SIZEOF_OFF_T${ac_dC}8${ac_dD}
-${ac_dA}SIZEOF_SSIZE_T${ac_dB}SIZEOF_SSIZE_T${ac_dC}4${ac_dD}
-${ac_dA}SIZEOF_TIME_T${ac_dB}SIZEOF_TIME_T${ac_dC}4${ac_dD}
-${ac_dA}HAVE_ACCESS${ac_dB}HAVE_ACCESS${ac_dC}1${ac_dD}
-${ac_dA}HAVE_ATEXIT${ac_dB}HAVE_ATEXIT${ac_dC}1${ac_dD}
-${ac_dA}HAVE_ATOI${ac_dB}HAVE_ATOI${ac_dC}1${ac_dD}
-CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/defines.sed <<CEOF
-/^[ ]*#[ ]*define/!b
-t clr
-: clr
-${ac_dA}HAVE_ATOL${ac_dB}HAVE_ATOL${ac_dC}1${ac_dD}
-${ac_dA}HAVE_CHMOD${ac_dB}HAVE_CHMOD${ac_dC}1${ac_dD}
-${ac_dA}HAVE_CHOWN${ac_dB}HAVE_CHOWN${ac_dC}1${ac_dD}
-${ac_dA}HAVE_CTIME${ac_dB}HAVE_CTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_DIFFTIME${ac_dB}HAVE_DIFFTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_FSTAT${ac_dB}HAVE_FSTAT${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GETENV${ac_dB}HAVE_GETENV${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GETPAGESIZE${ac_dB}HAVE_GETPAGESIZE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GETRUSAGE${ac_dB}HAVE_GETRUSAGE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD}
-${ac_dA}HAVE_GMTIME${ac_dB}HAVE_GMTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_ISATTY${ac_dB}HAVE_ISATTY${ac_dC}1${ac_dD}
-${ac_dA}HAVE_LOCALTIME${ac_dB}HAVE_LOCALTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_LONGJMP${ac_dB}HAVE_LONGJMP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_LSTAT${ac_dB}HAVE_LSTAT${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMCMP${ac_dB}HAVE_MEMCMP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMCPY${ac_dB}HAVE_MEMCPY${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMMOVE${ac_dB}HAVE_MEMMOVE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MEMSET${ac_dB}HAVE_MEMSET${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MKDIR${ac_dB}HAVE_MKDIR${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MKTIME${ac_dB}HAVE_MKTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MMAP${ac_dB}HAVE_MMAP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MPROTECT${ac_dB}HAVE_MPROTECT${ac_dC}1${ac_dD}
-${ac_dA}HAVE_MUNMAP${ac_dB}HAVE_MUNMAP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_QSORT${ac_dB}HAVE_QSORT${ac_dC}1${ac_dD}
-${ac_dA}HAVE_RAISE${ac_dB}HAVE_RAISE${ac_dC}1${ac_dD}
-${ac_dA}HAVE_RMDIR${ac_dB}HAVE_RMDIR${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SETJMP${ac_dB}HAVE_SETJMP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SIGNAL${ac_dB}HAVE_SIGNAL${ac_dC}1${ac_dD}
-${ac_dA}HAVE_SNPRINTF${ac_dB}HAVE_SNPRINTF${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRCASECMP${ac_dB}HAVE_STRCASECMP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRCHR${ac_dB}HAVE_STRCHR${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRDUP${ac_dB}HAVE_STRDUP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRFTIME${ac_dB}HAVE_STRFTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRNCASECMP${ac_dB}HAVE_STRNCASECMP${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRRCHR${ac_dB}HAVE_STRRCHR${ac_dC}1${ac_dD}
-${ac_dA}HAVE_STRSTR${ac_dB}HAVE_STRSTR${ac_dC}1${ac_dD}
-CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/defines.sed <<CEOF
-/^[ ]*#[ ]*define/!b
-t clr
-: clr
-${ac_dA}HAVE_TIME${ac_dB}HAVE_TIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UMASK${ac_dB}HAVE_UMASK${ac_dC}1${ac_dD}
-${ac_dA}HAVE_UTIME${ac_dB}HAVE_UTIME${ac_dC}1${ac_dD}
-${ac_dA}HAVE_VSNPRINTF${ac_dB}HAVE_VSNPRINTF${ac_dC}1${ac_dD}
-CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- fi # grep
-
- # Handle all the #undef templates
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-${ac_uA}PACKAGE_NAME${ac_uB}PACKAGE_NAME${ac_uC}"lzo"${ac_uD}
-${ac_uA}PACKAGE_TARNAME${ac_uB}PACKAGE_TARNAME${ac_uC}"lzo"${ac_uD}
-${ac_uA}PACKAGE_VERSION${ac_uB}PACKAGE_VERSION${ac_uC}"2.03"${ac_uD}
-${ac_uA}PACKAGE_STRING${ac_uB}PACKAGE_STRING${ac_uC}"lzo 2.03"${ac_uD}
-${ac_uA}PACKAGE_BUGREPORT${ac_uB}PACKAGE_BUGREPORT${ac_uC}"markus@oberhumer.com"${ac_uD}
-${ac_uA}LZO_ABI_LITTLE_ENDIAN${ac_uB}LZO_ABI_LITTLE_ENDIAN${ac_uC}1${ac_uD}
-${ac_uA}_FILE_OFFSET_BITS${ac_uB}_FILE_OFFSET_BITS${ac_uC}64${ac_uD}
-${ac_uA}PACKAGE${ac_uB}PACKAGE${ac_uC}"lzo"${ac_uD}
-${ac_uA}VERSION${ac_uB}VERSION${ac_uC}"2.03"${ac_uD}
-${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_DLFCN_H${ac_uB}HAVE_DLFCN_H${ac_uC}1${ac_uD}
-${ac_uA}TIME_WITH_SYS_TIME${ac_uB}TIME_WITH_SYS_TIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_ASSERT_H${ac_uB}HAVE_ASSERT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_CTYPE_H${ac_uB}HAVE_CTYPE_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_DIRENT_H${ac_uB}HAVE_DIRENT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_ERRNO_H${ac_uB}HAVE_ERRNO_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_FLOAT_H${ac_uB}HAVE_FLOAT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_LIMITS_H${ac_uB}HAVE_LIMITS_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MALLOC_H${ac_uB}HAVE_MALLOC_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SETJMP_H${ac_uB}HAVE_SETJMP_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SIGNAL_H${ac_uB}HAVE_SIGNAL_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDARG_H${ac_uB}HAVE_STDARG_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDDEF_H${ac_uB}HAVE_STDDEF_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDIO_H${ac_uB}HAVE_STDIO_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_TIME_H${ac_uB}HAVE_TIME_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UTIME_H${ac_uB}HAVE_UTIME_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_MMAN_H${ac_uB}HAVE_SYS_MMAN_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_RESOURCE_H${ac_uB}HAVE_SYS_RESOURCE_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SYS_WAIT_H${ac_uB}HAVE_SYS_WAIT_H${ac_uC}1${ac_uD}
-${ac_uA}RETSIGTYPE${ac_uB}RETSIGTYPE${ac_uC}void${ac_uD}
-${ac_uA}SIZEOF_SHORT${ac_uB}SIZEOF_SHORT${ac_uC}2${ac_uD}
-${ac_uA}SIZEOF_INT${ac_uB}SIZEOF_INT${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_LONG${ac_uB}SIZEOF_LONG${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_LONG_LONG${ac_uB}SIZEOF_LONG_LONG${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF___INT16${ac_uB}SIZEOF___INT16${ac_uC}0${ac_uD}
-${ac_uA}SIZEOF___INT32${ac_uB}SIZEOF___INT32${ac_uC}0${ac_uD}
-${ac_uA}SIZEOF___INT64${ac_uB}SIZEOF___INT64${ac_uC}0${ac_uD}
-${ac_uA}SIZEOF_VOID_P${ac_uB}SIZEOF_VOID_P${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_SIZE_T${ac_uB}SIZEOF_SIZE_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_PTRDIFF_T${ac_uB}SIZEOF_PTRDIFF_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF___INT32${ac_uB}SIZEOF___INT32${ac_uC}0${ac_uD}
-${ac_uA}SIZEOF_INTMAX_T${ac_uB}SIZEOF_INTMAX_T${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF_UINTMAX_T${ac_uB}SIZEOF_UINTMAX_T${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF_INTPTR_T${ac_uB}SIZEOF_INTPTR_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_UINTPTR_T${ac_uB}SIZEOF_UINTPTR_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_FLOAT${ac_uB}SIZEOF_FLOAT${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_DOUBLE${ac_uB}SIZEOF_DOUBLE${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF_LONG_DOUBLE${ac_uB}SIZEOF_LONG_DOUBLE${ac_uC}12${ac_uD}
-${ac_uA}SIZEOF_DEV_T${ac_uB}SIZEOF_DEV_T${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF_FPOS_T${ac_uB}SIZEOF_FPOS_T${ac_uC}16${ac_uD}
-${ac_uA}SIZEOF_MODE_T${ac_uB}SIZEOF_MODE_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_OFF_T${ac_uB}SIZEOF_OFF_T${ac_uC}8${ac_uD}
-${ac_uA}SIZEOF_SSIZE_T${ac_uB}SIZEOF_SSIZE_T${ac_uC}4${ac_uD}
-${ac_uA}SIZEOF_TIME_T${ac_uB}SIZEOF_TIME_T${ac_uC}4${ac_uD}
-${ac_uA}HAVE_ACCESS${ac_uB}HAVE_ACCESS${ac_uC}1${ac_uD}
-${ac_uA}HAVE_ATEXIT${ac_uB}HAVE_ATEXIT${ac_uC}1${ac_uD}
-${ac_uA}HAVE_ATOI${ac_uB}HAVE_ATOI${ac_uC}1${ac_uD}
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-${ac_uA}HAVE_ATOL${ac_uB}HAVE_ATOL${ac_uC}1${ac_uD}
-${ac_uA}HAVE_CHMOD${ac_uB}HAVE_CHMOD${ac_uC}1${ac_uD}
-${ac_uA}HAVE_CHOWN${ac_uB}HAVE_CHOWN${ac_uC}1${ac_uD}
-${ac_uA}HAVE_CTIME${ac_uB}HAVE_CTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_DIFFTIME${ac_uB}HAVE_DIFFTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_FSTAT${ac_uB}HAVE_FSTAT${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GETENV${ac_uB}HAVE_GETENV${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GETPAGESIZE${ac_uB}HAVE_GETPAGESIZE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GETRUSAGE${ac_uB}HAVE_GETRUSAGE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD}
-${ac_uA}HAVE_GMTIME${ac_uB}HAVE_GMTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_ISATTY${ac_uB}HAVE_ISATTY${ac_uC}1${ac_uD}
-${ac_uA}HAVE_LOCALTIME${ac_uB}HAVE_LOCALTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_LONGJMP${ac_uB}HAVE_LONGJMP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_LSTAT${ac_uB}HAVE_LSTAT${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMCMP${ac_uB}HAVE_MEMCMP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMCPY${ac_uB}HAVE_MEMCPY${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMMOVE${ac_uB}HAVE_MEMMOVE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MEMSET${ac_uB}HAVE_MEMSET${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MKDIR${ac_uB}HAVE_MKDIR${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MKTIME${ac_uB}HAVE_MKTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MMAP${ac_uB}HAVE_MMAP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MPROTECT${ac_uB}HAVE_MPROTECT${ac_uC}1${ac_uD}
-${ac_uA}HAVE_MUNMAP${ac_uB}HAVE_MUNMAP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_QSORT${ac_uB}HAVE_QSORT${ac_uC}1${ac_uD}
-${ac_uA}HAVE_RAISE${ac_uB}HAVE_RAISE${ac_uC}1${ac_uD}
-${ac_uA}HAVE_RMDIR${ac_uB}HAVE_RMDIR${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SETJMP${ac_uB}HAVE_SETJMP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SIGNAL${ac_uB}HAVE_SIGNAL${ac_uC}1${ac_uD}
-${ac_uA}HAVE_SNPRINTF${ac_uB}HAVE_SNPRINTF${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRCASECMP${ac_uB}HAVE_STRCASECMP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRCHR${ac_uB}HAVE_STRCHR${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRDUP${ac_uB}HAVE_STRDUP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRERROR${ac_uB}HAVE_STRERROR${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRFTIME${ac_uB}HAVE_STRFTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRNCASECMP${ac_uB}HAVE_STRNCASECMP${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRRCHR${ac_uB}HAVE_STRRCHR${ac_uC}1${ac_uD}
-${ac_uA}HAVE_STRSTR${ac_uB}HAVE_STRSTR${ac_uC}1${ac_uD}
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- cat >$tmp/undefs.sed <<CEOF
-/^[ ]*#[ ]*undef/!b
-t clr
-: clr
-${ac_uA}HAVE_TIME${ac_uB}HAVE_TIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UMASK${ac_uB}HAVE_UMASK${ac_uC}1${ac_uD}
-${ac_uA}HAVE_UTIME${ac_uB}HAVE_UTIME${ac_uC}1${ac_uD}
-${ac_uA}HAVE_VSNPRINTF${ac_uB}HAVE_VSNPRINTF${ac_uC}1${ac_uD}
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`(dirname "$mf") 2>/dev/null ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`(dirname "$file") 2>/dev/null ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p $dirpart/$fdir
- else
- as_dir=$dirpart/$fdir
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
- { (exit 1); exit 1; }; }; }
-
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- esac
-done
-
-{ (exit 0); exit 0; }
diff --git a/main/lzo/configure b/main/lzo/configure
index 06a488d2..f0356cd5 100755
--- a/main/lzo/configure
+++ b/main/lzo/configure
@@ -1,10 +1,10 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for LZO 2.09.
+# Generated by GNU Autoconf 2.69 for LZO 2.10.
#
# Report bugs to <markus@oberhumer.com>.
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer.
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer.
# All Rights Reserved.
# This configure script may be copied, distributed and modified under the
# terms of the GNU General Public License; see COPYING for more details.
@@ -595,8 +595,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='LZO'
PACKAGE_TARNAME='lzo'
-PACKAGE_VERSION='2.09'
-PACKAGE_STRING='LZO 2.09'
+PACKAGE_VERSION='2.10'
+PACKAGE_STRING='LZO 2.10'
PACKAGE_BUGREPORT='markus@oberhumer.com'
PACKAGE_URL='http://www.oberhumer.com/opensource/lzo/'
@@ -646,6 +646,7 @@ LZO_USE_ASM_i386_obj_elf32_FALSE
LZO_USE_ASM_i386_obj_elf32_TRUE
LZO_USE_ASM_i386_src_gas_FALSE
LZO_USE_ASM_i386_src_gas_TRUE
+pkgconfigdir
OTOOL64
OTOOL
LIPO
@@ -784,6 +785,7 @@ enable_fast_install
with_gnu_ld
with_sysroot
enable_libtool_lock
+with_pkgconfigdir
enable_asm
'
ac_precious_vars='build_alias
@@ -1337,7 +1339,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures LZO 2.09 to adapt to many kinds of systems.
+\`configure' configures LZO 2.10 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1408,7 +1410,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of LZO 2.09:";;
+ short | recursive ) echo "Configuration of LZO 2.10:";;
esac
cat <<\_ACEOF
@@ -1441,6 +1443,8 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-sysroot[=DIR] Search for dependent libraries within DIR (or the
compiler's sysroot if not specified).
+ --with-pkgconfigdir pkg-config installation directory
+ ['${libdir}/pkgconfig']
Some influential environment variables:
CC C compiler command
@@ -1521,14 +1525,14 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-LZO configure 2.09
+LZO configure 2.10
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer.
+Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer.
All Rights Reserved.
This configure script may be copied, distributed and modified under the
terms of the GNU General Public License; see COPYING for more details.
@@ -2132,7 +2136,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by LZO $as_me 2.09, which was
+It was created by LZO $as_me 2.10, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2531,7 +2535,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Enable extensions on systems that normally disable them.
-# Copyright (C) 2003, 2006-2015 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -2591,7 +2595,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Checks for stat-related time functions.
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2015 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2017 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
@@ -5465,7 +5469,7 @@ fi
# Define the identity of the package.
PACKAGE='lzo'
- VERSION='2.09'
+ VERSION='2.10'
cat >>confdefs.h <<_ACEOF
@@ -12946,6 +12950,21 @@ CC=$lt_save_CC
+
+# Check whether --with-pkgconfigdir was given.
+if test "${with_pkgconfigdir+set}" = set; then :
+ withval=$with_pkgconfigdir;
+else
+ with_pkgconfigdir='${libdir}/pkgconfig'
+fi
+
+pkgconfigdir=$with_pkgconfigdir
+
+
+
+
+
+
# /***********************************************************************
# // Checks for header files
# ************************************************************************/
@@ -14208,7 +14227,7 @@ if test "X$enable_asm" != Xno; then
fi
-ac_config_files="$ac_config_files Makefile"
+ac_config_files="$ac_config_files Makefile lzo2.pc"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -14762,7 +14781,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by LZO $as_me 2.09, which was
+This file was extended by LZO $as_me 2.10, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14829,7 +14848,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-LZO config.status 2.09
+LZO config.status 2.10
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -15240,6 +15259,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lzo2.pc") CONFIG_FILES="$CONFIG_FILES lzo2.pc" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
@@ -16464,7 +16484,7 @@ cat <<EOF
LZO ${PACKAGE_VERSION} configured.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/configure.ac b/main/lzo/configure.ac
index 4dee7f05..9c6f5e7a 100644
--- a/main/lzo/configure.ac
+++ b/main/lzo/configure.ac
@@ -3,7 +3,7 @@
#
# This file is part of the LZO data compression library.
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
# All Rights Reserved.
#
# The LZO library is free software; you can redistribute it and/or
@@ -31,13 +31,13 @@
# // Init
# ************************************************************************/
-AC_COPYRIGHT([Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer.
+AC_COPYRIGHT([Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer.
All Rights Reserved.
This configure script may be copied, distributed and modified under the
terms of the GNU General Public License; see COPYING for more details.])
AC_PREREQ(2.69)
-AC_INIT([LZO],[2.09],[markus@oberhumer.com],[lzo],[http://www.oberhumer.com/opensource/lzo/])
+AC_INIT([LZO],[2.10],[markus@oberhumer.com],[lzo],[http://www.oberhumer.com/opensource/lzo/])
AC_MSG_NOTICE([Configuring LZO $PACKAGE_VERSION])
AC_CONFIG_SRCDIR(src/lzo_init.c)
AC_CONFIG_AUX_DIR(autoconf)
@@ -78,6 +78,7 @@ AH_BOTTOM([#endif /* already included */])
AC_ENABLE_STATIC
AC_DISABLE_SHARED
LT_INIT
+PKG_INSTALLDIR
# /***********************************************************************
@@ -184,7 +185,7 @@ AC_CONFIG_COMMANDS_PRE([
test "X$DEFS" != "X" && DEFS="$DEFS "
DEFS="${DEFS}${my_DEFS}"
])
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile lzo2.pc])
AC_OUTPUT
@@ -207,7 +208,7 @@ cat <<EOF
LZO ${PACKAGE_VERSION} configured.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/doc/LZO.TXT b/main/lzo/doc/LZO.TXT
index 430f10d1..2d9cb35b 100644
--- a/main/lzo/doc/LZO.TXT
+++ b/main/lzo/doc/LZO.TXT
@@ -6,8 +6,8 @@
Author : Markus Franz Xaver Johannes Oberhumer
<markus@oberhumer.com>
http://www.oberhumer.com/opensource/lzo/
- Version : 2.09
- Date : 04 Feb 2015
+ Version : 2.10
+ Date : 01 Mar 2017
Abstract
@@ -277,7 +277,7 @@
Copyright
---------
- LZO is Copyright (C) 1996-2015 Markus Franz Xaver Oberhumer
+ LZO is Copyright (C) 1996-2017 Markus Franz Xaver Oberhumer
All Rights Reserved.
LZO is distributed under the terms of the GNU General Public License (GPL).
diff --git a/main/lzo/examples/.deps/dict.Po b/main/lzo/examples/.deps/dict.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/dict.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/.deps/lzopack.Po b/main/lzo/examples/.deps/lzopack.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/lzopack.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/.deps/overlap.Po b/main/lzo/examples/.deps/overlap.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/overlap.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/.deps/precomp.Po b/main/lzo/examples/.deps/precomp.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/precomp.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/.deps/precomp2.Po b/main/lzo/examples/.deps/precomp2.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/precomp2.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/.deps/simple.Po b/main/lzo/examples/.deps/simple.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/examples/.deps/simple.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/examples/Makefile b/main/lzo/examples/Makefile
deleted file mode 100644
index 41e32c29..00000000
--- a/main/lzo/examples/Makefile
+++ /dev/null
@@ -1,491 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# examples/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = dict$(EXEEXT) lzopack$(EXEEXT) overlap$(EXEEXT) \
- precomp$(EXEEXT) precomp2$(EXEEXT) simple$(EXEEXT)
-subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_dict_OBJECTS = dict.$(OBJEXT)
-dict_OBJECTS = $(am_dict_OBJECTS)
-dict_LDADD = $(LDADD)
-dict_DEPENDENCIES = ../src/liblzo2.la
-am_lzopack_OBJECTS = lzopack.$(OBJEXT)
-lzopack_OBJECTS = $(am_lzopack_OBJECTS)
-lzopack_LDADD = $(LDADD)
-lzopack_DEPENDENCIES = ../src/liblzo2.la
-am_overlap_OBJECTS = overlap.$(OBJEXT)
-overlap_OBJECTS = $(am_overlap_OBJECTS)
-overlap_LDADD = $(LDADD)
-overlap_DEPENDENCIES = ../src/liblzo2.la
-am_precomp_OBJECTS = precomp.$(OBJEXT)
-precomp_OBJECTS = $(am_precomp_OBJECTS)
-precomp_LDADD = $(LDADD)
-precomp_DEPENDENCIES = ../src/liblzo2.la
-am_precomp2_OBJECTS = precomp2.$(OBJEXT)
-precomp2_OBJECTS = $(am_precomp2_OBJECTS)
-precomp2_LDADD = $(LDADD)
-precomp2_DEPENDENCIES = ../src/liblzo2.la
-am_simple_OBJECTS = simple.$(OBJEXT)
-simple_OBJECTS = $(am_simple_OBJECTS)
-simple_LDADD = $(LDADD)
-simple_DEPENDENCIES = ../src/liblzo2.la
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(dict_SOURCES) $(lzopack_SOURCES) $(overlap_SOURCES) \
- $(precomp_SOURCES) $(precomp2_SOURCES) $(simple_SOURCES)
-DIST_SOURCES = $(dict_SOURCES) $(lzopack_SOURCES) $(overlap_SOURCES) \
- $(precomp_SOURCES) $(precomp2_SOURCES) $(simple_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-dict_SOURCES = dict.c
-lzopack_SOURCES = lzopack.c
-overlap_SOURCES = overlap.c
-precomp_SOURCES = precomp.c
-precomp2_SOURCES = precomp2.c
-simple_SOURCES = simple.c
-LDADD = ../src/liblzo2.la
-DEPENDENCIES = ../src/liblzo2.la
-EXTRA_DIST = portab.h portab_a.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-dict$(EXEEXT): $(dict_OBJECTS) $(dict_DEPENDENCIES)
- @rm -f dict$(EXEEXT)
- $(LINK) $(dict_LDFLAGS) $(dict_OBJECTS) $(dict_LDADD) $(LIBS)
-lzopack$(EXEEXT): $(lzopack_OBJECTS) $(lzopack_DEPENDENCIES)
- @rm -f lzopack$(EXEEXT)
- $(LINK) $(lzopack_LDFLAGS) $(lzopack_OBJECTS) $(lzopack_LDADD) $(LIBS)
-overlap$(EXEEXT): $(overlap_OBJECTS) $(overlap_DEPENDENCIES)
- @rm -f overlap$(EXEEXT)
- $(LINK) $(overlap_LDFLAGS) $(overlap_OBJECTS) $(overlap_LDADD) $(LIBS)
-precomp$(EXEEXT): $(precomp_OBJECTS) $(precomp_DEPENDENCIES)
- @rm -f precomp$(EXEEXT)
- $(LINK) $(precomp_LDFLAGS) $(precomp_OBJECTS) $(precomp_LDADD) $(LIBS)
-precomp2$(EXEEXT): $(precomp2_OBJECTS) $(precomp2_DEPENDENCIES)
- @rm -f precomp2$(EXEEXT)
- $(LINK) $(precomp2_LDFLAGS) $(precomp2_OBJECTS) $(precomp2_LDADD) $(LIBS)
-simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES)
- @rm -f simple$(EXEEXT)
- $(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/dict.Po
-include ./$(DEPDIR)/lzopack.Po
-include ./$(DEPDIR)/overlap.Po
-include ./$(DEPDIR)/precomp.Po
-include ./$(DEPDIR)/precomp2.Po
-include ./$(DEPDIR)/simple.Po
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/examples/Makefile.am b/main/lzo/examples/Makefile.am
deleted file mode 100644
index 2c5b527e..00000000
--- a/main/lzo/examples/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-
-noinst_PROGRAMS = dict lzopack overlap precomp precomp2 simple
-
-dict_SOURCES = dict.c
-lzopack_SOURCES = lzopack.c
-overlap_SOURCES = overlap.c
-precomp_SOURCES = precomp.c
-precomp2_SOURCES = precomp2.c
-simple_SOURCES = simple.c
-
-LDADD = ../src/liblzo2.la
-DEPENDENCIES = ../src/liblzo2.la
-
-EXTRA_DIST = portab.h portab_a.h
-
diff --git a/main/lzo/examples/Makefile.in b/main/lzo/examples/Makefile.in
deleted file mode 100644
index 4199078b..00000000
--- a/main/lzo/examples/Makefile.in
+++ /dev/null
@@ -1,491 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-noinst_PROGRAMS = dict$(EXEEXT) lzopack$(EXEEXT) overlap$(EXEEXT) \
- precomp$(EXEEXT) precomp2$(EXEEXT) simple$(EXEEXT)
-subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_dict_OBJECTS = dict.$(OBJEXT)
-dict_OBJECTS = $(am_dict_OBJECTS)
-dict_LDADD = $(LDADD)
-dict_DEPENDENCIES = ../src/liblzo2.la
-am_lzopack_OBJECTS = lzopack.$(OBJEXT)
-lzopack_OBJECTS = $(am_lzopack_OBJECTS)
-lzopack_LDADD = $(LDADD)
-lzopack_DEPENDENCIES = ../src/liblzo2.la
-am_overlap_OBJECTS = overlap.$(OBJEXT)
-overlap_OBJECTS = $(am_overlap_OBJECTS)
-overlap_LDADD = $(LDADD)
-overlap_DEPENDENCIES = ../src/liblzo2.la
-am_precomp_OBJECTS = precomp.$(OBJEXT)
-precomp_OBJECTS = $(am_precomp_OBJECTS)
-precomp_LDADD = $(LDADD)
-precomp_DEPENDENCIES = ../src/liblzo2.la
-am_precomp2_OBJECTS = precomp2.$(OBJEXT)
-precomp2_OBJECTS = $(am_precomp2_OBJECTS)
-precomp2_LDADD = $(LDADD)
-precomp2_DEPENDENCIES = ../src/liblzo2.la
-am_simple_OBJECTS = simple.$(OBJEXT)
-simple_OBJECTS = $(am_simple_OBJECTS)
-simple_LDADD = $(LDADD)
-simple_DEPENDENCIES = ../src/liblzo2.la
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(dict_SOURCES) $(lzopack_SOURCES) $(overlap_SOURCES) \
- $(precomp_SOURCES) $(precomp2_SOURCES) $(simple_SOURCES)
-DIST_SOURCES = $(dict_SOURCES) $(lzopack_SOURCES) $(overlap_SOURCES) \
- $(precomp_SOURCES) $(precomp2_SOURCES) $(simple_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-dict_SOURCES = dict.c
-lzopack_SOURCES = lzopack.c
-overlap_SOURCES = overlap.c
-precomp_SOURCES = precomp.c
-precomp2_SOURCES = precomp2.c
-simple_SOURCES = simple.c
-LDADD = ../src/liblzo2.la
-DEPENDENCIES = ../src/liblzo2.la
-EXTRA_DIST = portab.h portab_a.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-dict$(EXEEXT): $(dict_OBJECTS) $(dict_DEPENDENCIES)
- @rm -f dict$(EXEEXT)
- $(LINK) $(dict_LDFLAGS) $(dict_OBJECTS) $(dict_LDADD) $(LIBS)
-lzopack$(EXEEXT): $(lzopack_OBJECTS) $(lzopack_DEPENDENCIES)
- @rm -f lzopack$(EXEEXT)
- $(LINK) $(lzopack_LDFLAGS) $(lzopack_OBJECTS) $(lzopack_LDADD) $(LIBS)
-overlap$(EXEEXT): $(overlap_OBJECTS) $(overlap_DEPENDENCIES)
- @rm -f overlap$(EXEEXT)
- $(LINK) $(overlap_LDFLAGS) $(overlap_OBJECTS) $(overlap_LDADD) $(LIBS)
-precomp$(EXEEXT): $(precomp_OBJECTS) $(precomp_DEPENDENCIES)
- @rm -f precomp$(EXEEXT)
- $(LINK) $(precomp_LDFLAGS) $(precomp_OBJECTS) $(precomp_LDADD) $(LIBS)
-precomp2$(EXEEXT): $(precomp2_OBJECTS) $(precomp2_DEPENDENCIES)
- @rm -f precomp2$(EXEEXT)
- $(LINK) $(precomp2_LDFLAGS) $(precomp2_OBJECTS) $(precomp2_LDADD) $(LIBS)
-simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES)
- @rm -f simple$(EXEEXT)
- $(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dict.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzopack.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/overlap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/precomp.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/precomp2.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/examples/dict.c b/main/lzo/examples/dict.c
index 5d8ca62c..8945caf1 100644
--- a/main/lzo/examples/dict.c
+++ b/main/lzo/examples/dict.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -133,7 +133,7 @@ static int do_file(const char *in_name, int compression_level)
/*
* Step 3: compress from 'in' to 'out' with LZO1X-999
*/
- r = lzo1x_999_compress_level(in,in_len,out,&out_len,wrkmem,
+ r = lzo1x_999_compress_level(in, in_len, out, &out_len, wrkmem,
dict, dict_len, 0, compression_level);
if (r != LZO_E_OK)
{
@@ -192,7 +192,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
progname = argv[0];
diff --git a/main/lzo/examples/lzopack.c b/main/lzo/examples/lzopack.c
index c01b47dc..91c0c1ab 100644
--- a/main/lzo/examples/lzopack.c
+++ b/main/lzo/examples/lzopack.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -509,7 +509,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
#if 0
printf(
diff --git a/main/lzo/examples/overlap.c b/main/lzo/examples/overlap.c
index 215e055e..3ff4d180 100644
--- a/main/lzo/examples/overlap.c
+++ b/main/lzo/examples/overlap.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -259,7 +259,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
progname = argv[0];
if (i < argc && argv[i][0] == '-')
diff --git a/main/lzo/examples/portab.h b/main/lzo/examples/portab.h
index 3c220689..93db56a9 100644
--- a/main/lzo/examples/portab.h
+++ b/main/lzo/examples/portab.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -39,7 +39,9 @@
# pragma warning(disable: 4710 4711)
#endif
/* disable silly warnings about using "deprecated" POSIX functions like "fopen" */
-#if (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1100))
+#if (LZO_CC_CLANG_MSC && LZO_CC_CLANG >= 0x030500)
+# pragma clang diagnostic ignored "-Wdeprecated-declarations"
+#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1100))
# pragma warning(disable: 1786)
#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1000))
# pragma warning(disable: 1478)
@@ -131,6 +133,7 @@ static lzo_voidp xmalloc(lzo_uint len)
if (len >= align && __lzo_align_gap(p, align) != 0)
{
printf("%s: C library problem: malloc() returned misaligned pointer!\n", progname);
+ lzo_free(p);
exit(1);
}
return p;
diff --git a/main/lzo/examples/portab_a.h b/main/lzo/examples/portab_a.h
index 57ff4445..64841971 100644
--- a/main/lzo/examples/portab_a.h
+++ b/main/lzo/examples/portab_a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/examples/precomp.c b/main/lzo/examples/precomp.c
index dafd3ea2..e61b0c13 100644
--- a/main/lzo/examples/precomp.c
+++ b/main/lzo/examples/precomp.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -89,7 +89,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
progname = argv[0];
if (argc < 2 || argc > 3)
diff --git a/main/lzo/examples/precomp2.c b/main/lzo/examples/precomp2.c
index 6c359b93..3216cd99 100644
--- a/main/lzo/examples/precomp2.c
+++ b/main/lzo/examples/precomp2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -123,7 +123,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
progname = argv[0];
if (argc < 2 || argc > 3)
diff --git a/main/lzo/examples/simple.c b/main/lzo/examples/simple.c
index 9ebfa971..5757e0c1 100644
--- a/main/lzo/examples/simple.c
+++ b/main/lzo/examples/simple.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -78,7 +78,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
/*
* Step 1: initialize the LZO library
diff --git a/main/lzo/include/Makefile b/main/lzo/include/Makefile
deleted file mode 100644
index ce13657c..00000000
--- a/main/lzo/include/Makefile
+++ /dev/null
@@ -1,487 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# include/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-SUBDIRS = lzo
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/include/Makefile.am b/main/lzo/include/Makefile.am
deleted file mode 100644
index 5ad18f48..00000000
--- a/main/lzo/include/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-SUBDIRS = lzo
diff --git a/main/lzo/include/Makefile.in b/main/lzo/include/Makefile.in
deleted file mode 100644
index c5cb4e79..00000000
--- a/main/lzo/include/Makefile.in
+++ /dev/null
@@ -1,487 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = include
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-SUBDIRS = lzo
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
- clean clean-generic clean-libtool clean-recursive ctags \
- ctags-recursive distclean distclean-generic distclean-libtool \
- distclean-recursive distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic maintainer-clean-recursive \
- mostlyclean mostlyclean-generic mostlyclean-libtool \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/include/lzo/Makefile b/main/lzo/include/lzo/Makefile
deleted file mode 100644
index fd2af055..00000000
--- a/main/lzo/include/lzo/Makefile
+++ /dev/null
@@ -1,412 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# include/lzo/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ../..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-subdir = include/lzo
-DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkgincludedir)"
-pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(pkginclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-pkginclude_HEADERS = \
- lzoconf.h lzodefs.h lzoutil.h lzo_asm.h \
- lzo1.h lzo1a.h lzo1b.h lzo1c.h lzo1f.h lzo1x.h lzo1y.h lzo1z.h \
- lzo2a.h
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/lzo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/lzo/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-uninstall-pkgincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(pkgincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pkgincludeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-pkgincludeHEADERS \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkgincludeHEADERS
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/include/lzo/Makefile.am b/main/lzo/include/lzo/Makefile.am
deleted file mode 100644
index 39537bb2..00000000
--- a/main/lzo/include/lzo/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-pkginclude_HEADERS = \
- lzoconf.h lzodefs.h lzoutil.h lzo_asm.h \
- lzo1.h lzo1a.h lzo1b.h lzo1c.h lzo1f.h lzo1x.h lzo1y.h lzo1z.h \
- lzo2a.h
-
diff --git a/main/lzo/include/lzo/Makefile.in b/main/lzo/include/lzo/Makefile.in
deleted file mode 100644
index 8bd26ceb..00000000
--- a/main/lzo/include/lzo/Makefile.in
+++ /dev/null
@@ -1,412 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = include/lzo
-DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(pkgincludedir)"
-pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(pkginclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-pkginclude_HEADERS = \
- lzoconf.h lzodefs.h lzoutil.h lzo_asm.h \
- lzo1.h lzo1a.h lzo1b.h lzo1c.h lzo1f.h lzo1x.h lzo1y.h lzo1z.h \
- lzo2a.h
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/lzo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu include/lzo/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-pkgincludeHEADERS: $(pkginclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-uninstall-pkgincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(pkginclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(pkgincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pkgincludeHEADERS
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool ctags distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-exec install-exec-am install-info \
- install-info-am install-man install-pkgincludeHEADERS \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-pkgincludeHEADERS
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/include/lzo/lzo1.h b/main/lzo/include/lzo/lzo1.h
index b5a67b65..06e8c4f6 100644
--- a/main/lzo/include/lzo/lzo1.h
+++ b/main/lzo/include/lzo/lzo1.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1a.h b/main/lzo/include/lzo/lzo1a.h
index ca761e5f..7ef9d23e 100644
--- a/main/lzo/include/lzo/lzo1a.h
+++ b/main/lzo/include/lzo/lzo1a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1b.h b/main/lzo/include/lzo/lzo1b.h
index bbfd7548..a748fde5 100644
--- a/main/lzo/include/lzo/lzo1b.h
+++ b/main/lzo/include/lzo/lzo1b.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1c.h b/main/lzo/include/lzo/lzo1c.h
index 20010823..a6c6b756 100644
--- a/main/lzo/include/lzo/lzo1c.h
+++ b/main/lzo/include/lzo/lzo1c.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1f.h b/main/lzo/include/lzo/lzo1f.h
index 504e5230..25cbd51e 100644
--- a/main/lzo/include/lzo/lzo1f.h
+++ b/main/lzo/include/lzo/lzo1f.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1x.h b/main/lzo/include/lzo/lzo1x.h
index f1599a60..a1115140 100644
--- a/main/lzo/include/lzo/lzo1x.h
+++ b/main/lzo/include/lzo/lzo1x.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1y.h b/main/lzo/include/lzo/lzo1y.h
index da199c0f..0f4d4aa2 100644
--- a/main/lzo/include/lzo/lzo1y.h
+++ b/main/lzo/include/lzo/lzo1y.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo1z.h b/main/lzo/include/lzo/lzo1z.h
index 5adb905d..3f8dea03 100644
--- a/main/lzo/include/lzo/lzo1z.h
+++ b/main/lzo/include/lzo/lzo1z.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo2a.h b/main/lzo/include/lzo/lzo2a.h
index ded7f9eb..f069e9ed 100644
--- a/main/lzo/include/lzo/lzo2a.h
+++ b/main/lzo/include/lzo/lzo2a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzo_asm.h b/main/lzo/include/lzo/lzo_asm.h
index 5a654bf7..9a57e279 100644
--- a/main/lzo/include/lzo/lzo_asm.h
+++ b/main/lzo/include/lzo/lzo_asm.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/include/lzo/lzoconf.h b/main/lzo/include/lzo/lzoconf.h
index 64ef2793..f9a8bdbe 100644
--- a/main/lzo/include/lzo/lzoconf.h
+++ b/main/lzo/include/lzo/lzoconf.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -29,9 +29,9 @@
#ifndef __LZOCONF_H_INCLUDED
#define __LZOCONF_H_INCLUDED 1
-#define LZO_VERSION 0x2090
-#define LZO_VERSION_STRING "2.09"
-#define LZO_VERSION_DATE "Feb 04 2015"
+#define LZO_VERSION 0x20a0 /* 2.10 */
+#define LZO_VERSION_STRING "2.10"
+#define LZO_VERSION_DATE "Mar 01 2017"
/* internal Autoconf configuration file - only used when building LZO */
#if defined(LZO_HAVE_CONFIG_H)
diff --git a/main/lzo/include/lzo/lzodefs.h b/main/lzo/include/lzo/lzodefs.h
index 1535c1e2..c3e2bcf5 100644
--- a/main/lzo/include/lzo/lzodefs.h
+++ b/main/lzo/include/lzo/lzodefs.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -40,6 +40,33 @@
# define __LONG_MAX__ 9223372036854775807L
# endif
#endif
+#if 0
+#elif !defined(__LZO_LANG_OVERRIDE)
+#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
+# if (__ASSEMBLER__+0) <= 0
+# error "__ASSEMBLER__"
+# else
+# define LZO_LANG_ASSEMBLER 1
+# endif
+#elif defined(__cplusplus)
+# if (__cplusplus+0) <= 0
+# error "__cplusplus"
+# elif (__cplusplus < 199711L)
+# define LZO_LANG_CXX 1
+# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
+# define LZO_LANG_CXX _MSVC_LANG
+# else
+# define LZO_LANG_CXX __cplusplus
+# endif
+# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX
+#else
+# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
+# define LZO_LANG_C __STDC_VERSION__
+# else
+# define LZO_LANG_C 1
+# endif
+#endif
+#endif
#if !defined(LZO_CFG_NO_DISABLE_WUNDEF)
#if defined(__ARMCC_VERSION)
# pragma diag_suppress 193
@@ -135,10 +162,12 @@
# endif
#endif
#endif
-#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(_MSC_VER) && defined(M_I86HM)
# define ptrdiff_t long
# define _PTRDIFF_T_DEFINED 1
#endif
+#endif
#if (UINT_MAX == LZO_0xffffL)
# undef __LZO_RENAME_A
# undef __LZO_RENAME_B
@@ -287,7 +316,7 @@
#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f)
#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g)
#endif
-#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-!!(b))) - (o)) << 1) + (o)*!!(b))
+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
# define __STDC_CONSTANT_MACROS 1
@@ -538,6 +567,12 @@
# define LZO_CC_ARMCC __ARMCC_VERSION
# define LZO_INFO_CC "ARM C Compiler"
# define LZO_INFO_CCVER __VERSION__
+#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
+# define LZO_CC_CLANG_C2 _MSC_VER
+# define LZO_CC_CLANG_VENDOR_MICROSOFT 1
+# define LZO_INFO_CC "clang/c2"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__)
#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
@@ -549,8 +584,18 @@
# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# endif
-# define LZO_INFO_CC "clang"
-# define LZO_INFO_CCVER __VERSION__
+# if defined(__APPLE_CC__)
+# define LZO_CC_CLANG_VENDOR_APPLE 1
+# define LZO_INFO_CC "clang/apple"
+# else
+# define LZO_CC_CLANG_VENDOR_LLVM 1
+# define LZO_INFO_CC "clang"
+# endif
+# if defined(__clang_version__)
+# define LZO_INFO_CCVER __clang_version__
+# else
+# define LZO_INFO_CCVER __VERSION__
+# endif
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
@@ -770,7 +815,7 @@
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086 1
# define LZO_INFO_ARCH "i086"
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(_M_ARM64)
# define LZO_ARCH_ARM64 1
# define LZO_INFO_ARCH "arm64"
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
@@ -860,6 +905,15 @@
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__riscv)
+# define LZO_ARCH_RISCV 1
+# define LZO_INFO_ARCH "riscv"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
# define LZO_ARCH_S390 1
# define LZO_INFO_ARCH "s390"
@@ -896,17 +950,21 @@
#endif
#if !defined(LZO_ARCH_ARM_THUMB2)
#if (LZO_ARCH_ARM)
-# if defined(__ARM_ARCH_ISA_THUMB)
-# if ((__ARM_ARCH_ISA_THUMB)+0 >= 2)
-# define LZO_ARCH_ARM_THUMB2 1
-# endif
-# elif 1 && defined(__thumb2__)
-# define LZO_ARCH_ARM_THUMB2 1
-# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
-# define LZO_ARCH_ARM_THUMB2 1
+# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
+# if defined(__thumb2__)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
+# define LZO_ARCH_ARM_THUMB2 1
+# endif
# endif
#endif
#endif
+#if (LZO_ARCH_ARM_THUMB2)
+# undef LZO_INFO_ARCH
+# define LZO_INFO_ARCH "arm_thumb2"
+#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
# error "FIXME - missing define for CPU architecture"
#endif
@@ -1110,7 +1168,7 @@
# error "unexpected configuration - check your compiler defines"
# endif
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
extern "C" {
#endif
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
@@ -1133,7 +1191,7 @@ extern "C" {
#else
# error "FIXME - implement LZO_MM_AHSHIFT"
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
}
#endif
#endif
@@ -1219,7 +1277,6 @@ extern "C" {
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_IBMC >= 600)
# define __lzo_gnuc_extension__ __extension__
-#else
#endif
#endif
#if !defined(__lzo_gnuc_extension__)
@@ -1265,7 +1322,7 @@ extern "C" {
#endif
#endif
#if !defined(lzo_has_extension)
-# define lzo_has_extension 0
+# define lzo_has_extension(x) 0
#endif
#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
@@ -1412,6 +1469,9 @@ extern "C" {
# define LZO_UNUSED(var) ((void) &var)
# endif
#endif
+#if !defined(LZO_UNUSED_RESULT)
+# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var)
+#endif
#if !defined(LZO_UNUSED_FUNC)
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED_FUNC(func) ((void) func)
@@ -1830,6 +1890,7 @@ extern "C" {
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
+#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2)
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
@@ -1942,11 +2003,16 @@ extern "C" {
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];}
# endif
#endif
+#if (LZO_LANG_ASSEMBLER)
+# undef LZO_COMPILE_TIME_ASSERT_HEADER
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/
+#else
LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1)
#if defined(__cplusplus)
extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
#endif
LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
+#endif
#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
@@ -2021,6 +2087,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
#endif
#endif
#endif
+#define LZO_SIZEOF_CHAR 1
#ifndef LZO_SIZEOF_SHORT
#if defined(SIZEOF_SHORT)
# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
@@ -2219,12 +2286,12 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long))
# define LZO_WORDSIZE 8
#elif (LZO_ARCH_AMD64)
# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_ARM64)
+# define LZO_WORDSIZE 8
#elif (LZO_ARCH_AVR)
# define LZO_WORDSIZE 1
#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define LZO_WORDSIZE 4
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define LZO_WORDSIZE 4
# else
# define LZO_WORDSIZE 2
@@ -2267,11 +2334,15 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
# define LZO_SIZEOF_VOID_P 2
#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define LZO_SIZEOF_VOID_P 2
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define LZO_SIZEOF_VOID_P 4
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4)
+# if defined(__NORMAL_MODE__)
+# define LZO_SIZEOF_VOID_P 2
+# else
+# define LZO_SIZEOF_VOID_P 4
+# endif
# else
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2)
# define LZO_SIZEOF_VOID_P 2
# endif
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
@@ -2361,7 +2432,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU)
# define LZO_ABI_BIG_ENDIAN 1
@@ -2381,6 +2452,8 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC)
# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
# error "unexpected configuration - check your compiler defines"
@@ -2396,6 +2469,8 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
@@ -2437,6 +2512,12 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_IP32L64 1
# define LZO_INFO_ABI_PM "ip32l64"
#endif
+#if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8)
+# define LZO_ABI_IP32W64 1
+# ifndef LZO_INFO_ABI_PM
+# define LZO_INFO_ABI_PM "ip32w64"
+# endif
+#endif
#if 0
#elif !defined(__LZO_LIBC_OVERRIDE)
#if (LZO_LIBC_NAKED)
@@ -2539,6 +2620,13 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
+# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
@@ -2553,6 +2641,13 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
+# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# endif
#elif (LZO_ARCH_ARM64)
# ifndef LZO_OPT_UNALIGNED16
@@ -2598,7 +2693,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#elif (LZO_ARCH_POWERPC)
# define LZO_OPT_PREFER_PREINC 1
# define LZO_OPT_PREFER_PREDEC 1
-# if (LZO_ABI_BIG_ENDIAN)
+# if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
@@ -2611,6 +2706,19 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# endif
# endif
# endif
+#elif (LZO_ARCH_RISCV)
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
+# endif
#elif (LZO_ARCH_S390)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
@@ -2721,18 +2829,23 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#define LZO_TYPEOF_CHAR_P 129u
#if !defined(lzo_llong_t)
#if (LZO_SIZEOF_LONG_LONG+0 > 0)
-__lzo_gnuc_extension__ typedef long long lzo_llong_t__;
-__lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# if !(LZO_LANG_ASSEMBLER)
+ __lzo_gnuc_extension__ typedef long long lzo_llong_t__;
+ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# endif
# define lzo_llong_t lzo_llong_t__
# define lzo_ullong_t lzo_ullong_t__
#endif
#endif
#if !defined(lzo_int16e_t)
-#if (LZO_SIZEOF_LONG == 2)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T
+#endif
+#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
# define lzo_int16e_t long
# define lzo_uint16e_t unsigned long
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG
-#elif (LZO_SIZEOF_INT == 2)
+#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
# define lzo_int16e_t int
# define lzo_uint16e_t unsigned int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT
@@ -2741,8 +2854,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define lzo_uint16e_t unsigned short int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
+# endif
# define lzo_int16e_t lzo_int16e_hi_t__
# define lzo_uint16e_t lzo_uint16e_hi_t__
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI
@@ -2759,7 +2874,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T)
#endif
#if !defined(lzo_int32e_t)
-#if (LZO_SIZEOF_LONG == 4)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T
+#endif
+#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT)
# define lzo_int32e_t long int
# define lzo_uint32e_t unsigned long int
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG
@@ -2776,14 +2894,18 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define lzo_uint32e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_INT32_C(c) (c##LL)
@@ -2803,19 +2925,25 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
#endif
#if !defined(lzo_int64e_t)
#if (LZO_SIZEOF___INT64 == 8)
-# if (LZO_CC_BORLANDC) && !(LZO_CFG_TYPE_PREFER___INT64)
-# define LZO_CFG_TYPE_PREFER___INT64 1
+# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T)
+# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64
# endif
#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
# define lzo_int64e_t int
# define lzo_uint64e_t unsigned int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT
-#elif (LZO_SIZEOF_LONG == 8)
+#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
# define lzo_int64e_t long int
# define lzo_uint64e_t unsigned long int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG
-#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_TYPE_PREFER___INT64)
+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
# define lzo_int64e_t lzo_llong_t
# define lzo_uint64e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG
@@ -2918,15 +3046,19 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
#if !defined(lzo_intptr_t)
#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16))
# define __LZO_INTPTR_T_IS_POINTER 1
+# if !(LZO_LANG_ASSEMBLER)
typedef char * lzo_intptr_t;
typedef char * lzo_uintptr_t;
+# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P
#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4))
+# if !(LZO_LANG_ASSEMBLER)
typedef __w64 int lzo_intptr_t;
typedef __w64 unsigned int lzo_uintptr_t;
+# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
@@ -2993,8 +3125,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC)
#if 0
+# if !(LZO_LANG_ASSEMBLER)
typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
+# endif
# define lzo_word_t lzo_word_t
# define lzo_sword_t lzo_sword_t
# define LZO_SIZEOF_LZO_WORD_T 16
diff --git a/main/lzo/include/lzo/lzoutil.h b/main/lzo/include/lzo/lzoutil.h
index f44156f8..75cd067d 100644
--- a/main/lzo/include/lzo/lzoutil.h
+++ b/main/lzo/include/lzo/lzoutil.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/libtool b/main/lzo/libtool
deleted file mode 100755
index 0130dbd5..00000000
--- a/main/lzo/libtool
+++ /dev/null
@@ -1,7520 +0,0 @@
-#! /bin/bash
-
-# libtoolT - Provide generalized library-building support services.
-# Generated automatically by (GNU lzo 2.03)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED="/bin/sed"
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="/bin/sed -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=" CXX"
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host dune:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/bash"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=no
-
-# Whether or not to build static libraries.
-build_old_libs=yes
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=yes
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=needless
-
-# The host system.
-host_alias=
-host=i686-pc-linux-gnu
-host_os=linux-gnu
-
-# The build system.
-build_alias=
-build=i686-pc-linux-gnu
-build_os=linux-gnu
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-g -O2"
-
-# A language-specific compiler.
-CC="gcc"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=32768
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=" -fno-builtin"
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
- cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
- \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
- \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=""
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=""
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=""
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/ /lib/i486-linux-gnu/4.3.2/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.2/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../ /lib/ /usr/lib/"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/alsa-lib /usr/local/lib "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL CONFIG
-
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=1.5.22
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
-elif test "X$1" = X--fallback-echo; then
- # Avoid inline document here, it may be left over
- :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
- # Yippee, $echo works!
- :
-else
- # Restart under the correct shell, and then maybe $echo will work.
- exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
- # used as fallback echo
- shift
- cat <<EOF
-$*
-EOF
- exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- SP2NL='tr \040 \012'
- NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- SP2NL='tr \100 \n'
- NL2SP='tr \r\n \100\100'
- ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
- save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
- save_LANG="$LANG"; LANG=C; export LANG
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- $echo "$modename: not configured to build any kind of library" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $mkdir "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || {
- $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
- exit $EXIT_FAILURE
- }
- fi
-
- $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
- win32_libid_type="unknown"
- win32_fileres=`file -L $1 2>/dev/null`
- case $win32_fileres in
- *ar\ archive\ import\ library*) # definitely import
- win32_libid_type="x86 archive import"
- ;;
- *ar\ archive*) # could be an import, or static
- if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
- $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
- win32_nmres=`eval $NM -f posix -A $1 | \
- $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
- case $win32_nmres in
- import*) win32_libid_type="x86 archive import";;
- *) win32_libid_type="x86 archive static";;
- esac
- fi
- ;;
- *DLL*)
- win32_libid_type="x86 DLL"
- ;;
- *executable*) # but shell scripts are "executable" too...
- case $win32_fileres in
- *MS\ Windows\ PE\ Intel*)
- win32_libid_type="x86 DLL"
- ;;
- esac
- ;;
- esac
- $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
- if test -n "$available_tags" && test -z "$tagname"; then
- CC_quoted=
- for arg in $CC; do
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case $@ in
- # Blanks in the command may have been stripped by the calling shell,
- # but not from the CC environment variable when configure was run.
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
- # Blanks at the start of $base_compile will cause this to fail
- # if we don't check for them as well.
- *)
- for z in $available_tags; do
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
- CC_quoted=
- for arg in $CC; do
- # Double-quote args containing other shell metacharacters.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- CC_quoted="$CC_quoted $arg"
- done
- case "$@ " in
- " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
- # The compiler in the base compile command matches
- # the one in the tagged configuration.
- # Assume this is the tagged configuration we want.
- tagname=$z
- break
- ;;
- esac
- fi
- done
- # If $tagname still isn't set, then no tagged configuration
- # was found and let the user know that the "--tag" command
- # line option must be used.
- if test -z "$tagname"; then
- $echo "$modename: unable to infer tagged configuration"
- $echo "$modename: specify a tag with \`--tag'" 1>&2
- exit $EXIT_FAILURE
-# else
-# $echo "$modename: using $tagname tagged configuration"
- fi
- ;;
- esac
- fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
-
- $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
- $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
- if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
- exit $EXIT_FAILURE
- fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
- my_gentop="$1"; shift
- my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
- my_status=""
-
- $show "${rm}r $my_gentop"
- $run ${rm}r "$my_gentop"
- $show "$mkdir $my_gentop"
- $run $mkdir "$my_gentop"
- my_status=$?
- if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
- exit $my_status
- fi
-
- for my_xlib in $my_oldlibs; do
- # Extract the objects.
- case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
- *) my_xabs=`pwd`"/$my_xlib" ;;
- esac
- my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
- my_xdir="$my_gentop/$my_xlib"
-
- $show "${rm}r $my_xdir"
- $run ${rm}r "$my_xdir"
- $show "$mkdir $my_xdir"
- $run $mkdir "$my_xdir"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
- exit $exit_status
- fi
- case $host in
- *-darwin*)
- $show "Extracting $my_xabs"
- # Do not bother doing anything if just a dry run
- if test -z "$run"; then
- darwin_orig_dir=`pwd`
- cd $my_xdir || exit $?
- darwin_archive=$my_xabs
- darwin_curdir=`pwd`
- darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
- darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
- if test -n "$darwin_arches"; then
- darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
- darwin_arch=
- $show "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
- cd "$darwin_curdir"
- $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
- done # $darwin_arches
- ## Okay now we have a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
- darwin_file=
- darwin_files=
- for darwin_file in $darwin_filelist; do
- darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
- lipo -create -output "$darwin_file" $darwin_files
- done # $darwin_filelist
- ${rm}r unfat-$$
- cd "$darwin_orig_dir"
- else
- cd "$darwin_orig_dir"
- func_extract_an_archive "$my_xdir" "$my_xabs"
- fi # $darwin_arches
- fi # $run
- ;;
- *)
- func_extract_an_archive "$my_xdir" "$my_xabs"
- ;;
- esac
- my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
- done
- func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
- arg="$1"
- shift
-
- case $arg in
- -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
- *) optarg= ;;
- esac
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- execute_dlfiles)
- execute_dlfiles="$execute_dlfiles $arg"
- ;;
- tag)
- tagname="$arg"
- preserve_args="${preserve_args}=$arg"
-
- # Check whether tagname contains only valid characters
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- $echo "$progname: invalid tag name: $tagname" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $tagname in
- CC)
- # Don't test for the "default" C tag, as we know, it's there, but
- # not specially marked.
- ;;
- *)
- if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
- taglist="$taglist $tagname"
- # Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
- else
- $echo "$progname: ignoring unknown tag $tagname" 1>&2
- fi
- ;;
- esac
- ;;
- *)
- eval "$prev=\$arg"
- ;;
- esac
-
- prev=
- prevopt=
- continue
- fi
-
- # Have we seen a non-optional argument yet?
- case $arg in
- --help)
- show_help=yes
- ;;
-
- --version)
- $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
- $echo
- $echo "Copyright (C) 2005 Free Software Foundation, Inc."
- $echo "This is free software; see the source for copying conditions. There is NO"
- $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
- exit $?
- ;;
-
- --config)
- ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
- # Now print the configurations for the tags.
- for tagname in $taglist; do
- ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
- done
- exit $?
- ;;
-
- --debug)
- $echo "$progname: enabling shell trace mode"
- set -x
- preserve_args="$preserve_args $arg"
- ;;
-
- --dry-run | -n)
- run=:
- ;;
-
- --features)
- $echo "host: $host"
- if test "$build_libtool_libs" = yes; then
- $echo "enable shared libraries"
- else
- $echo "disable shared libraries"
- fi
- if test "$build_old_libs" = yes; then
- $echo "enable static libraries"
- else
- $echo "disable static libraries"
- fi
- exit $?
- ;;
-
- --finish) mode="finish" ;;
-
- --mode) prevopt="--mode" prev=mode ;;
- --mode=*) mode="$optarg" ;;
-
- --preserve-dup-deps) duplicate_deps="yes" ;;
-
- --quiet | --silent)
- show=:
- preserve_args="$preserve_args $arg"
- ;;
-
- --tag)
- prevopt="--tag"
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
- --tag=*)
- set tag "$optarg" ${1+"$@"}
- shift
- prev=tag
- preserve_args="$preserve_args --tag"
- ;;
-
- -dlopen)
- prevopt="-dlopen"
- prev=execute_dlfiles
- ;;
-
- -*)
- $echo "$modename: unrecognized option \`$arg'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-
- *)
- nonopt="$arg"
- break
- ;;
- esac
-done
-
-if test -n "$prevopt"; then
- $echo "$modename: option \`$prevopt' requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no)
- ;;
-shared)
- build_libtool_libs=no
- build_old_libs=yes
- ;;
-static)
- build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
- ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
- # Infer the operation mode.
- if test -z "$mode"; then
- $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
- $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
- case $nonopt in
- *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
- mode=link
- for arg
- do
- case $arg in
- -c)
- mode=compile
- break
- ;;
- esac
- done
- ;;
- *db | *dbx | *strace | *truss)
- mode=execute
- ;;
- *install*|cp|mv)
- mode=install
- ;;
- *rm)
- mode=uninstall
- ;;
- *)
- # If we have no mode, but dlfiles were specified, then do execute mode.
- test -n "$execute_dlfiles" && mode=execute
-
- # Just use the default operation mode.
- if test -z "$mode"; then
- if test -n "$nonopt"; then
- $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
- else
- $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
- fi
- fi
- ;;
- esac
- fi
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$execute_dlfiles" && test "$mode" != execute; then
- $echo "$modename: unrecognized option \`-dlopen'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$modename --help --mode=$mode' for more information."
-
- # These modes are in order of execution frequency so that they run quickly.
- case $mode in
- # libtool compile mode
- compile)
- modename="$modename: compile"
- # Get the compilation command and the source file.
- base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
- suppress_opt=yes
- suppress_output=
- arg_mode=normal
- libobj=
- later=
-
- for arg
- do
- case $arg_mode in
- arg )
- # do not "continue". Instead, add this to base_compile
- lastarg="$arg"
- arg_mode=normal
- ;;
-
- target )
- libobj="$arg"
- arg_mode=normal
- continue
- ;;
-
- normal )
- # Accept any command-line options.
- case $arg in
- -o)
- if test -n "$libobj" ; then
- $echo "$modename: you cannot specify \`-o' more than once" 1>&2
- exit $EXIT_FAILURE
- fi
- arg_mode=target
- continue
- ;;
-
- -static | -prefer-pic | -prefer-non-pic)
- later="$later $arg"
- continue
- ;;
-
- -no-suppress)
- suppress_opt=no
- continue
- ;;
-
- -Xcompiler)
- arg_mode=arg # the next one goes into the "base_compile" arg list
- continue # The current "srcfile" will either be retained or
- ;; # replaced later. I would guess that would be a bug.
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
- lastarg=
- save_ifs="$IFS"; IFS=','
- for arg in $args; do
- IFS="$save_ifs"
-
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- lastarg="$lastarg $arg"
- done
- IFS="$save_ifs"
- lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
- # Add the arguments to base_compile.
- base_compile="$base_compile $lastarg"
- continue
- ;;
-
- * )
- # Accept the current argument as the source file.
- # The previous "srcfile" becomes the current argument.
- #
- lastarg="$srcfile"
- srcfile="$arg"
- ;;
- esac # case $arg
- ;;
- esac # case $arg_mode
-
- # Aesthetically quote the previous argument.
- lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
- case $lastarg in
- # Double-quote args containing other shell metacharacters.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, and some SunOS ksh mistreat backslash-escaping
- # in scan sets (worked around with variable expansion),
- # and furthermore cannot handle '|' '&' '(' ')' in scan sets
- # at all, so we specify them separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- lastarg="\"$lastarg\""
- ;;
- esac
-
- base_compile="$base_compile $lastarg"
- done # for arg
-
- case $arg_mode in
- arg)
- $echo "$modename: you must specify an argument for -Xcompile"
- exit $EXIT_FAILURE
- ;;
- target)
- $echo "$modename: you must specify a target with \`-o'" 1>&2
- exit $EXIT_FAILURE
- ;;
- *)
- # Get the name of the library object.
- [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
- ;;
- esac
-
- # Recognize several different file suffixes.
- # If the user specifies -o file.o, it is replaced with file.lo
- xform='[cCFSifmso]'
- case $libobj in
- *.ada) xform=ada ;;
- *.adb) xform=adb ;;
- *.ads) xform=ads ;;
- *.asm) xform=asm ;;
- *.c++) xform=c++ ;;
- *.cc) xform=cc ;;
- *.ii) xform=ii ;;
- *.class) xform=class ;;
- *.cpp) xform=cpp ;;
- *.cxx) xform=cxx ;;
- *.f90) xform=f90 ;;
- *.for) xform=for ;;
- *.java) xform=java ;;
- esac
-
- libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
- case $libobj in
- *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
- *)
- $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- func_infer_tag $base_compile
-
- for arg in $later; do
- case $arg in
- -static)
- build_old_libs=yes
- continue
- ;;
-
- -prefer-pic)
- pic_mode=yes
- continue
- ;;
-
- -prefer-non-pic)
- pic_mode=no
- continue
- ;;
- esac
- done
-
- qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
- case $qlibobj in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qlibobj="\"$qlibobj\"" ;;
- esac
- test "X$libobj" != "X$qlibobj" \
- && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
- objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$obj"; then
- xdir=
- else
- xdir=$xdir/
- fi
- lobj=${xdir}$objdir/$objname
-
- if test -z "$base_compile"; then
- $echo "$modename: you must specify a compilation command" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
- removelist="$obj $lobj $libobj ${libobj}T"
- else
- removelist="$lobj $libobj ${libobj}T"
- fi
-
- $run $rm $removelist
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
- # On Cygwin there's no "real" PIC flag so we must build both object types
- case $host_os in
- cygwin* | mingw* | pw32* | os2*)
- pic_mode=default
- ;;
- esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
- # non-PIC code in shared libraries is not supported
- pic_mode=default
- fi
-
- # Calculate the filename of the output object if compiler does
- # not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
- removelist="$removelist $output_obj $lockfile"
- trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
- else
- output_obj=
- need_locks=no
- lockfile=
- fi
-
- # Lock this critical section if it is needed
- # We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
- until $run ln "$progpath" "$lockfile" 2>/dev/null; do
- $show "Waiting for $lockfile to be removed"
- sleep 2
- done
- elif test "$need_locks" = warn; then
- if test -f "$lockfile"; then
- $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
- $echo "$srcfile" > "$lockfile"
- fi
-
- if test -n "$fix_srcfile_path"; then
- eval srcfile=\"$fix_srcfile_path\"
- fi
- qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
- case $qsrcfile in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qsrcfile="\"$qsrcfile\"" ;;
- esac
-
- $run $rm "$libobj" "${libobj}T"
-
- # Create a libtool object file (analogous to a ".la" file),
- # but don't create it if we're doing a dry run.
- test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
- # Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
- # Without this assignment, base_compile gets emptied.
- fbsd_hideous_sh_bug=$base_compile
-
- if test "$pic_mode" != no; then
- command="$base_compile $qsrcfile $pic_flag"
- else
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- fi
-
- if test ! -d "${xdir}$objdir"; then
- $show "$mkdir ${xdir}$objdir"
- $run $mkdir ${xdir}$objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
- exit $exit_status
- fi
- fi
-
- if test -z "$output_obj"; then
- # Place PIC objects in $objdir
- command="$command -o $lobj"
- fi
-
- $run $rm "$lobj" "$output_obj"
-
- $show "$command"
- if $run eval "$command"; then :
- else
- test -n "$output_obj" && $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed, then go on to compile the next one
- if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
- $show "$mv $output_obj $lobj"
- if $run $mv $output_obj $lobj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the PIC object to the libtool object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
- # Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
- suppress_output=' >/dev/null 2>&1'
- fi
- else
- # No PIC object so indicate it doesn't exist in the libtool
- # object file.
- test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
- fi
-
- # Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
- # Don't build PIC code
- command="$base_compile $qsrcfile"
- else
- command="$base_compile $qsrcfile $pic_flag"
- fi
- if test "$compiler_c_o" = yes; then
- command="$command -o $obj"
- fi
-
- # Suppress compiler output if we already did a PIC compilation.
- command="$command$suppress_output"
- $run $rm "$obj" "$output_obj"
- $show "$command"
- if $run eval "$command"; then :
- else
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- if test "$need_locks" = warn &&
- test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
- $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
- $run $rm $removelist
- exit $EXIT_FAILURE
- fi
-
- # Just move the object if needed
- if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
- $show "$mv $output_obj $obj"
- if $run $mv $output_obj $obj; then :
- else
- error=$?
- $run $rm $removelist
- exit $error
- fi
- fi
-
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
- else
- # Append the name of the non-PIC object the libtool object file.
- # Only append if the libtool object file exists.
- test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
- fi
-
- $run $mv "${libobj}T" "${libobj}"
-
- # Unlock the critical section if it was locked
- if test "$need_locks" != no; then
- $run $rm "$lockfile"
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- # libtool link mode
- link | relink)
- modename="$modename: link"
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # It is impossible to link a dll without this setting, and
- # we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
- # flag for every libtool invocation.
- # allow_undefined=no
-
- # FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
- # even a static library is built. For now, we need to specify
- # -no-undefined on the libtool link line when we can be certain
- # that all symbols are satisfied, otherwise we get a static library.
- allow_undefined=yes
- ;;
- *)
- allow_undefined=yes
- ;;
- esac
- libtool_args="$nonopt"
- base_compile="$nonopt $@"
- compile_command="$nonopt"
- finalize_command="$nonopt"
-
- compile_rpath=
- finalize_rpath=
- compile_shlibpath=
- finalize_shlibpath=
- convenience=
- old_convenience=
- deplibs=
- old_deplibs=
- compiler_flags=
- linker_flags=
- dllsearchpath=
- lib_search_path=`pwd`
- inst_prefix_dir=
-
- avoid_version=no
- dlfiles=
- dlprefiles=
- dlself=no
- export_dynamic=no
- export_symbols=
- export_symbols_regex=
- generated=
- libobjs=
- ltlibs=
- module=no
- no_install=no
- objs=
- non_pic_objects=
- notinst_path= # paths that contain not-installed libtool libraries
- precious_files_regex=
- prefer_static_libs=no
- preload=no
- prev=
- prevarg=
- release=
- rpath=
- xrpath=
- perm_rpath=
- temp_rpath=
- thread_safe=no
- vinfo=
- vinfo_number=no
-
- func_infer_tag $base_compile
-
- # We need to know -static, to get the right output filenames.
- for arg
- do
- case $arg in
- -all-static | -static)
- if test "X$arg" = "X-all-static"; then
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
- $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
- fi
- if test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=yes
- else
- if test -z "$pic_flag" && test -n "$link_static_flag"; then
- dlopen_self=$dlopen_self_static
- fi
- prefer_static_libs=built
- fi
- build_libtool_libs=no
- build_old_libs=yes
- break
- ;;
- esac
- done
-
- # See if our shared archives depend on static archives.
- test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
- # Go through the arguments, transforming them on the way.
- while test "$#" -gt 0; do
- arg="$1"
- shift
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
- ;;
- *) qarg=$arg ;;
- esac
- libtool_args="$libtool_args $qarg"
-
- # If the previous option needs an argument, assign it.
- if test -n "$prev"; then
- case $prev in
- output)
- compile_command="$compile_command @OUTPUT@"
- finalize_command="$finalize_command @OUTPUT@"
- ;;
- esac
-
- case $prev in
- dlfiles|dlprefiles)
- if test "$preload" = no; then
- # Add the symbol object into the linking commands.
- compile_command="$compile_command @SYMFILE@"
- finalize_command="$finalize_command @SYMFILE@"
- preload=yes
- fi
- case $arg in
- *.la | *.lo) ;; # We handle these cases below.
- force)
- if test "$dlself" = no; then
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- self)
- if test "$prev" = dlprefiles; then
- dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
- dlself=yes
- else
- dlself=needless
- export_dynamic=yes
- fi
- prev=
- continue
- ;;
- *)
- if test "$prev" = dlfiles; then
- dlfiles="$dlfiles $arg"
- else
- dlprefiles="$dlprefiles $arg"
- fi
- prev=
- continue
- ;;
- esac
- ;;
- expsyms)
- export_symbols="$arg"
- if test ! -f "$arg"; then
- $echo "$modename: symbol file \`$arg' does not exist"
- exit $EXIT_FAILURE
- fi
- prev=
- continue
- ;;
- expsyms_regex)
- export_symbols_regex="$arg"
- prev=
- continue
- ;;
- inst_prefix)
- inst_prefix_dir="$arg"
- prev=
- continue
- ;;
- precious_regex)
- precious_files_regex="$arg"
- prev=
- continue
- ;;
- release)
- release="-$arg"
- prev=
- continue
- ;;
- objectlist)
- if test -f "$arg"; then
- save_arg=$arg
- moreargs=
- for fil in `cat $save_arg`
- do
-# moreargs="$moreargs $fil"
- arg=$fil
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- done
- else
- $echo "$modename: link input file \`$save_arg' does not exist"
- exit $EXIT_FAILURE
- fi
- arg=$save_arg
- prev=
- continue
- ;;
- rpath | xrpath)
- # We need an absolute path.
- case $arg in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- if test "$prev" = rpath; then
- case "$rpath " in
- *" $arg "*) ;;
- *) rpath="$rpath $arg" ;;
- esac
- else
- case "$xrpath " in
- *" $arg "*) ;;
- *) xrpath="$xrpath $arg" ;;
- esac
- fi
- prev=
- continue
- ;;
- xcompiler)
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- xlinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $wl$qarg"
- prev=
- compile_command="$compile_command $wl$qarg"
- finalize_command="$finalize_command $wl$qarg"
- continue
- ;;
- xcclinker)
- linker_flags="$linker_flags $qarg"
- compiler_flags="$compiler_flags $qarg"
- prev=
- compile_command="$compile_command $qarg"
- finalize_command="$finalize_command $qarg"
- continue
- ;;
- shrext)
- shrext_cmds="$arg"
- prev=
- continue
- ;;
- darwin_framework|darwin_framework_skip)
- test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- prev=
- continue
- ;;
- *)
- eval "$prev=\"\$arg\""
- prev=
- continue
- ;;
- esac
- fi # test -n "$prev"
-
- prevarg="$arg"
-
- case $arg in
- -all-static)
- if test -n "$link_static_flag"; then
- compile_command="$compile_command $link_static_flag"
- finalize_command="$finalize_command $link_static_flag"
- fi
- continue
- ;;
-
- -allow-undefined)
- # FIXME: remove this flag sometime in the future.
- $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
- continue
- ;;
-
- -avoid-version)
- avoid_version=yes
- continue
- ;;
-
- -dlopen)
- prev=dlfiles
- continue
- ;;
-
- -dlpreopen)
- prev=dlprefiles
- continue
- ;;
-
- -export-dynamic)
- export_dynamic=yes
- continue
- ;;
-
- -export-symbols | -export-symbols-regex)
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: more than one -exported-symbols argument is not allowed"
- exit $EXIT_FAILURE
- fi
- if test "X$arg" = "X-export-symbols"; then
- prev=expsyms
- else
- prev=expsyms_regex
- fi
- continue
- ;;
-
- -framework|-arch|-isysroot)
- case " $CC " in
- *" ${arg} ${1} "* | *" ${arg} ${1} "*)
- prev=darwin_framework_skip ;;
- *) compiler_flags="$compiler_flags $arg"
- prev=darwin_framework ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -inst-prefix-dir)
- prev=inst_prefix
- continue
- ;;
-
- # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
- # so, if we see these flags be careful not to treat them like -L
- -L[A-Z][A-Z]*:*)
- case $with_gcc/$host in
- no/*-*-irix* | /*-*-irix*)
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- ;;
- esac
- continue
- ;;
-
- -L*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- notinst_path="$notinst_path $dir"
- fi
- dir="$absdir"
- ;;
- esac
- case "$deplibs " in
- *" -L$dir "*) ;;
- *)
- deplibs="$deplibs -L$dir"
- lib_search_path="$lib_search_path $dir"
- ;;
- esac
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$dir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$dir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- continue
- ;;
-
- -l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
- # These systems don't actually have a C or math library (as such)
- continue
- ;;
- *-*-os2*)
- # These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C and math libraries are in the System framework
- deplibs="$deplibs -framework System"
- continue
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
- ;;
- esac
- elif test "X$arg" = "X-lc_r"; then
- case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc_r directly, use -pthread flag.
- continue
- ;;
- esac
- fi
- deplibs="$deplibs $arg"
- continue
- ;;
-
- # Tru64 UNIX uses -model [arg] to determine the layout of C++
- # classes, name mangling, and exception handling.
- -model)
- compile_command="$compile_command $arg"
- compiler_flags="$compiler_flags $arg"
- finalize_command="$finalize_command $arg"
- prev=xcompiler
- continue
- ;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- compiler_flags="$compiler_flags $arg"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- continue
- ;;
-
- -module)
- module=yes
- continue
- ;;
-
- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
- # -r[0-9][0-9]* specifies the processor on the SGI compiler
- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
- # +DA*, +DD* enable 64-bit mode on the HP compiler
- # -q* pass through compiler args for the IBM compiler
- # -m* pass through architecture-specific compiler args for GCC
- # -m*, -t[45]*, -txscale* pass through architecture-specific
- # compiler args for GCC
- # -pg pass through profiling flag for GCC
- # @file GCC response files
- -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
- -t[45]*|-txscale*|@*)
-
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- compiler_flags="$compiler_flags $arg"
- continue
- ;;
-
- -shrext)
- prev=shrext
- continue
- ;;
-
- -no-fast-install)
- fast_install=no
- continue
- ;;
-
- -no-install)
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- # The PATH hackery in wrapper scripts is required on Windows
- # in order for the loader to find any dlls it needs.
- $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
- $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
- fast_install=no
- ;;
- *) no_install=yes ;;
- esac
- continue
- ;;
-
- -no-undefined)
- allow_undefined=no
- continue
- ;;
-
- -objectlist)
- prev=objectlist
- continue
- ;;
-
- -o) prev=output ;;
-
- -precious-files-regex)
- prev=precious_regex
- continue
- ;;
-
- -release)
- prev=release
- continue
- ;;
-
- -rpath)
- prev=rpath
- continue
- ;;
-
- -R)
- prev=xrpath
- continue
- ;;
-
- -R*)
- dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- $echo "$modename: only absolute run-paths are allowed" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- continue
- ;;
-
- -static)
- # The effects of -static are defined in a previous loop.
- # We used to do the same as -all-static on platforms that
- # didn't have a PIC flag, but the assumption that the effects
- # would be equivalent was wrong. It would break on at least
- # Digital Unix and AIX.
- continue
- ;;
-
- -thread-safe)
- thread_safe=yes
- continue
- ;;
-
- -version-info)
- prev=vinfo
- continue
- ;;
- -version-number)
- prev=vinfo
- vinfo_number=yes
- continue
- ;;
-
- -Wc,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Wl,*)
- args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
- arg=
- save_ifs="$IFS"; IFS=','
- for flag in $args; do
- IFS="$save_ifs"
- case $flag in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- flag="\"$flag\""
- ;;
- esac
- arg="$arg $wl$flag"
- compiler_flags="$compiler_flags $wl$flag"
- linker_flags="$linker_flags $flag"
- done
- IFS="$save_ifs"
- arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
- ;;
-
- -Xcompiler)
- prev=xcompiler
- continue
- ;;
-
- -Xlinker)
- prev=xlinker
- continue
- ;;
-
- -XCClinker)
- prev=xcclinker
- continue
- ;;
-
- # Some other compiler flag.
- -* | +*)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
-
- *.$objext)
- # A standard object.
- objs="$objs $arg"
- ;;
-
- *.lo)
- # A libtool-controlled object.
-
- # Check to see that this really is a libtool object.
- if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- pic_object=
- non_pic_object=
-
- # Read the .lo file
- # If there is no directory component, then add one.
- case $arg in
- */* | *\\*) . $arg ;;
- *) . ./$arg ;;
- esac
-
- if test -z "$pic_object" || \
- test -z "$non_pic_object" ||
- test "$pic_object" = none && \
- test "$non_pic_object" = none; then
- $echo "$modename: cannot find name of object for \`$arg'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- if test "$pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
-
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
- dlfiles="$dlfiles $pic_object"
- prev=
- continue
- else
- # If libtool objects are unsupported, then we need to preload.
- prev=dlprefiles
- fi
- fi
-
- # CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
- # Preload the old-style object.
- dlprefiles="$dlprefiles $pic_object"
- prev=
- fi
-
- # A PIC object.
- libobjs="$libobjs $pic_object"
- arg="$pic_object"
- fi
-
- # Non-PIC object.
- if test "$non_pic_object" != none; then
- # Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
-
- # A standard non-PIC object
- non_pic_objects="$non_pic_objects $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
- fi
- else
- # If the PIC object exists, use it instead.
- # $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- else
- # Only an error if not doing a dry-run.
- if test -z "$run"; then
- $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
- exit $EXIT_FAILURE
- else
- # Dry-run case.
-
- # Extract subdirectory from the argument.
- xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$xdir" = "X$arg"; then
- xdir=
- else
- xdir="$xdir/"
- fi
-
- pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
- non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
- libobjs="$libobjs $pic_object"
- non_pic_objects="$non_pic_objects $non_pic_object"
- fi
- fi
- ;;
-
- *.$libext)
- # An archive.
- deplibs="$deplibs $arg"
- old_deplibs="$old_deplibs $arg"
- continue
- ;;
-
- *.la)
- # A libtool-controlled library.
-
- if test "$prev" = dlfiles; then
- # This library was specified with -dlopen.
- dlfiles="$dlfiles $arg"
- prev=
- elif test "$prev" = dlprefiles; then
- # The library was specified with -dlpreopen.
- dlprefiles="$dlprefiles $arg"
- prev=
- else
- deplibs="$deplibs $arg"
- fi
- continue
- ;;
-
- # Some other compiler argument.
- *)
- # Unknown arguments in both finalize_command and compile_command need
- # to be aesthetically quoted because they are evaled later.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- ;;
- esac # arg
-
- # Now actually substitute the argument into the commands.
- if test -n "$arg"; then
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
- done # argument parsing loop
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
- eval arg=\"$export_dynamic_flag_spec\"
- compile_command="$compile_command $arg"
- finalize_command="$finalize_command $arg"
- fi
-
- oldlibs=
- # calculate the name of the file, without its directory
- outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
- libobjs_save="$libobjs"
-
- if test -n "$shlibpath_var"; then
- # get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
- else
- shlib_search_path=
- fi
- eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
- eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
- output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$output_objdir" = "X$output"; then
- output_objdir="$objdir"
- else
- output_objdir="$output_objdir/$objdir"
- fi
- # Create the object directory.
- if test ! -d "$output_objdir"; then
- $show "$mkdir $output_objdir"
- $run $mkdir $output_objdir
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
- exit $exit_status
- fi
- fi
-
- # Determine the type of output
- case $output in
- "")
- $echo "$modename: you must specify an output file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- *.$libext) linkmode=oldlib ;;
- *.lo | *.$objext) linkmode=obj ;;
- *.la) linkmode=lib ;;
- *) linkmode=prog ;; # Anything else should be a program.
- esac
-
- case $host in
- *cygwin* | *mingw* | *pw32*)
- # don't eliminate duplications in $postdeps and $predeps
- duplicate_compiler_generated_deps=yes
- ;;
- *)
- duplicate_compiler_generated_deps=$duplicate_deps
- ;;
- esac
- specialdeplibs=
-
- libs=
- # Find all interdependent deplibs by searching for libraries
- # that are linked more than once (e.g. -la -lb -la)
- for deplib in $deplibs; do
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- libs="$libs $deplib"
- done
-
- if test "$linkmode" = lib; then
- libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
- # Compute libraries that are listed more than once in $predeps
- # $postdeps and mark them as special (i.e., whose duplicates are
- # not to be eliminated).
- pre_post_deps=
- if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
- for pre_post_dep in $predeps $postdeps; do
- case "$pre_post_deps " in
- *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
- esac
- pre_post_deps="$pre_post_deps $pre_post_dep"
- done
- fi
- pre_post_deps=
- fi
-
- deplibs=
- newdependency_libs=
- newlib_search_path=
- need_relink=no # whether we're linking any uninstalled libtool libraries
- notinst_deplibs= # not-installed libtool libraries
- case $linkmode in
- lib)
- passes="conv link"
- for file in $dlfiles $dlprefiles; do
- case $file in
- *.la) ;;
- *)
- $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- prog)
- compile_deplibs=
- finalize_deplibs=
- alldeplibs=no
- newdlfiles=
- newdlprefiles=
- passes="conv scan dlopen dlpreopen link"
- ;;
- *) passes="conv"
- ;;
- esac
- for pass in $passes; do
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
- deplibs=
- fi
- if test "$linkmode" = prog; then
- case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
- esac
- fi
- if test "$pass" = dlopen; then
- # Collect dlpreopened libraries
- save_deplibs="$deplibs"
- deplibs=
- fi
- for deplib in $libs; do
- lib=
- found=no
- case $deplib in
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- compiler_flags="$compiler_flags $deplib"
- fi
- continue
- ;;
- -l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
- continue
- fi
- name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
- for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
- for search_ext in .la $std_shrext .so .a; do
- # Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
- if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
- else
- found=no
- fi
- break 2
- fi
- done
- done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
- # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
- # We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $deplib "*)
- if (${SED} -e '2q' $lib |
- grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- library_names=
- old_library=
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- for l in $old_library $library_names; do
- ll="$l"
- done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
- lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- fi
- fi
- ;;
- *) ;;
- esac
- fi
- fi
- ;; # -l
- -L*)
- case $linkmode in
- lib)
- deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
- newdependency_libs="$deplib $newdependency_libs"
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- prog)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- if test "$pass" = scan; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
- ;;
- *)
- $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
- ;;
- esac # linkmode
- continue
- ;; # -L
- -R*)
- if test "$pass" = link; then
- dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- # Make sure the xrpath contains only unique directories.
- case "$xrpath " in
- *" $dir "*) ;;
- *) xrpath="$xrpath $dir" ;;
- esac
- fi
- deplibs="$deplib $deplibs"
- continue
- ;;
- *.la) lib="$deplib" ;;
- *.$libext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- continue
- fi
- case $linkmode in
- lib)
- valid_a_lib=no
- case $deplibs_check_method in
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- if eval $echo \"$deplib\" 2>/dev/null \
- | $SED 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
- fi
- ;;
- pass_all)
- valid_a_lib=yes
- ;;
- esac
- if test "$valid_a_lib" != yes; then
- $echo
- $echo "*** Warning: Trying to link with static lib archive $deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because the file extensions .$libext of this argument makes me believe"
- $echo "*** that it is just a static archive that I should not used here."
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the"
- $echo "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
- fi
- continue
- ;;
- prog)
- if test "$pass" != link; then
- deplibs="$deplib $deplibs"
- else
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- fi
- continue
- ;;
- esac # linkmode
- ;; # *.$libext
- *.lo | *.$objext)
- if test "$pass" = conv; then
- deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
- # If there is no dlopen support or we're linking statically,
- # we need to preload.
- newdlprefiles="$newdlprefiles $deplib"
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- newdlfiles="$newdlfiles $deplib"
- fi
- fi
- continue
- ;;
- %DEPLIBS%)
- alldeplibs=yes
- continue
- ;;
- esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
-
- ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$ladir" = "X$lib" && ladir="."
-
- dlname=
- dlopen=
- dlpreopen=
- libdir=
- library_names=
- old_library=
- # If the library was installed with an old release of libtool,
- # it will not redefine variables installed, or shouldnotlink
- installed=yes
- shouldnotlink=no
- avoidtemprpath=
-
-
- # Read the .la file
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
-
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
- test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
- test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
- fi
-
- if test "$pass" = conv; then
- # Only check for convenience libraries
- deplibs="$lib $deplibs"
- if test -z "$libdir"; then
- if test -z "$old_library"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # It is a libtool convenience library, so add in its objects.
- convenience="$convenience $ladir/$objdir/$old_library"
- old_convenience="$old_convenience $ladir/$objdir/$old_library"
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- $echo "$modename: \`$lib' is not a convenience library" 1>&2
- exit $EXIT_FAILURE
- fi
- continue
- fi # $pass = conv
-
-
- # Get the name of the library we link against.
- linklib=
- for l in $old_library $library_names; do
- linklib="$l"
- done
- if test -z "$linklib"; then
- $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
- # If there is no dlname, no dlopen support or we're linking
- # statically, we need to preload. We also need to preload any
- # dependent libraries so libltdl's deplib preloader doesn't
- # bomb out in the load deplibs phase.
- dlprefiles="$dlprefiles $lib $dependency_libs"
- else
- newdlfiles="$newdlfiles $lib"
- fi
- continue
- fi # $pass = dlopen
-
- # We need an absolute path.
- case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
- *)
- abs_ladir=`cd "$ladir" && pwd`
- if test -z "$abs_ladir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
- $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
- abs_ladir="$ladir"
- fi
- ;;
- esac
- laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
- # Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
- if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- $echo "$modename: warning: library \`$lib' was moved." 1>&2
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
- dir="$libdir"
- absdir="$libdir"
- fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- else
- if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
- # Remove this search path later
- notinst_path="$notinst_path $abs_ladir"
- fi
- fi # $installed = yes
- name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
- # This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir"; then
- $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
- exit $EXIT_FAILURE
- fi
- # Prefer using a static library (so that no silly _DYNAMIC symbols
- # are required to link).
- if test -n "$old_library"; then
- newdlprefiles="$newdlprefiles $dir/$old_library"
- # Otherwise, use the dlname, so that lt_dlopen finds it.
- elif test -n "$dlname"; then
- newdlprefiles="$newdlprefiles $dir/$dlname"
- else
- newdlprefiles="$newdlprefiles $dir/$linklib"
- fi
- fi # $pass = dlpreopen
-
- if test -z "$libdir"; then
- # Link the convenience library
- if test "$linkmode" = lib; then
- deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$dir/$old_library $compile_deplibs"
- finalize_deplibs="$dir/$old_library $finalize_deplibs"
- else
- deplibs="$lib $deplibs" # used for prog,scan pass
- fi
- continue
- fi
-
-
- if test "$linkmode" = prog && test "$pass" != link; then
- newlib_search_path="$newlib_search_path $ladir"
- deplibs="$lib $deplibs"
-
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
- fi
-
- tmp_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
- esac
- # Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
- deplibs="$deplib $deplibs"
- else
- # Need to hardcode shared library paths
- # or/and link against static libraries
- newdependency_libs="$deplib $newdependency_libs"
- fi
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done # for deplib
- continue
- fi # $linkmode = prog...
-
- if test "$linkmode,$pass" = "prog,link"; then
- if test -n "$library_names" &&
- { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
- # We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
- # Make sure the rpath contains only unique directories.
- case "$temp_rpath " in
- *" $dir "*) ;;
- *" $absdir "*) ;;
- *) temp_rpath="$temp_rpath $absdir" ;;
- esac
- fi
-
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi # $linkmode,$pass = prog,link...
-
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
- test -n "$library_names"; }; }; then
- # We only need to search for static libraries
- continue
- fi
- fi
-
- link_static=no # Whether the deplib will be linked statically
- use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes ; then
- use_static_libs=no
- fi
- if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
- if test "$installed" = no; then
- notinst_deplibs="$notinst_deplibs $lib"
- need_relink=yes
- fi
- # This is a shared library
-
- # Warn about portability, can't link against -module's on
- # some systems (darwin)
- if test "$shouldnotlink" = yes && test "$pass" = link ; then
- $echo
- if test "$linkmode" = prog; then
- $echo "*** Warning: Linking the executable $output against the loadable module"
- else
- $echo "*** Warning: Linking the shared library $output against the loadable module"
- fi
- $echo "*** $linklib is not portable!"
- fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
- # Hardcode the library path.
- # Skip directories that are in the system default run-time
- # search path.
- case " $sys_lib_dlsearch_path " in
- *" $absdir "*) ;;
- *)
- case "$compile_rpath " in
- *" $absdir "*) ;;
- *) compile_rpath="$compile_rpath $absdir"
- esac
- ;;
- esac
- case " $sys_lib_dlsearch_path " in
- *" $libdir "*) ;;
- *)
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir"
- esac
- ;;
- esac
- fi
-
- if test -n "$old_archive_from_expsyms_cmds"; then
- # figure out the soname
- set dummy $library_names
- realname="$2"
- shift; shift
- libname=`eval \\$echo \"$libname_spec\"`
- # use dlname if we got it. it's perfectly good, no?
- if test -n "$dlname"; then
- soname="$dlname"
- elif test -n "$soname_spec"; then
- # bleh windows
- case $host in
- *cygwin* | mingw*)
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
- esac
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
-
- # Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
- soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
- newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
- # If the library has no export list, then create one now
- if test -f "$output_objdir/$soname-def"; then :
- else
- $show "extracting exported symbol list from \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$extract_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- # Create $newlib
- if test -f "$output_objdir/$newlib"; then :; else
- $show "generating import library for \`$soname'"
- save_ifs="$IFS"; IFS='~'
- cmds=$old_archive_from_expsyms_cmds
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
- # make sure the library variables are pointing to the new library
- dir=$output_objdir
- linklib=$newlib
- fi # test -n "$old_archive_from_expsyms_cmds"
-
- if test "$linkmode" = prog || test "$mode" != relink; then
- add_shlibpath=
- add_dir=
- add=
- lib_linked=yes
- case $hardcode_action in
- immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
- case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
- *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
- *-*-darwin* )
- # if the lib is a module then we can not link against
- # it, someone is ignoring the new warnings I added
- if /usr/bin/file -L $add 2> /dev/null |
- $EGREP ": [^:]* bundle" >/dev/null ; then
- $echo "** Warning, lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
- $echo
- $echo "** And there doesn't seem to be a static archive available"
- $echo "** The link will probably fail, sorry"
- else
- add="$dir/$old_library"
- fi
- fi
- esac
- elif test "$hardcode_minus_L" = no; then
- case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
- esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- relink)
- if test "$hardcode_direct" = yes; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$dir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
- else
- lib_linked=no
- fi
- ;;
- *) lib_linked=no ;;
- esac
-
- if test "$lib_linked" != yes; then
- $echo "$modename: configuration error: unsupported hardcode properties"
- exit $EXIT_FAILURE
- fi
-
- if test -n "$add_shlibpath"; then
- case :$compile_shlibpath: in
- *":$add_shlibpath:"*) ;;
- *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
- esac
- fi
- if test "$linkmode" = prog; then
- test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
- test -n "$add" && compile_deplibs="$add $compile_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes && \
- test "$hardcode_minus_L" != yes && \
- test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- fi
- fi
- fi
-
- if test "$linkmode" = prog || test "$mode" = relink; then
- add_shlibpath=
- add_dir=
- add=
- # Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- case :$finalize_shlibpath: in
- *":$libdir:"*) ;;
- *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
- esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
- if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
- else
- add="$libdir/$linklib"
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
- add_dir="$add_dir -L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
- add="-l$name"
- fi
-
- if test "$linkmode" = prog; then
- test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
- test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
- else
- test -n "$add_dir" && deplibs="$add_dir $deplibs"
- test -n "$add" && deplibs="$add $deplibs"
- fi
- fi
- elif test "$linkmode" = prog; then
- # Here we assume that one of hardcode_direct or hardcode_minus_L
- # is not unsupported. This is valid on all known static and
- # shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
- compile_deplibs="$dir/$linklib $compile_deplibs"
- finalize_deplibs="$dir/$linklib $finalize_deplibs"
- else
- compile_deplibs="-l$name -L$dir $compile_deplibs"
- finalize_deplibs="-l$name -L$dir $finalize_deplibs"
- fi
- elif test "$build_libtool_libs" = yes; then
- # Not a shared library
- if test "$deplibs_check_method" != pass_all; then
- # We're trying link a shared library against a static one
- # but the system doesn't support it.
-
- # Just print a warning and add the library to dependency_libs so
- # that the program can be linked against the static library.
- $echo
- $echo "*** Warning: This system can not link to static lib archive $lib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
- $echo "*** But as you try to build a module library, libtool will still create "
- $echo "*** a static module, that should work as long as the dlopening application"
- $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- else
- deplibs="$dir/$old_library $deplibs"
- link_static=yes
- fi
- fi # link shared/static library?
-
- if test "$linkmode" = lib; then
- if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
- # Extract -R from dependency_libs
- temp_deplibs=
- for libdir in $dependency_libs; do
- case $libdir in
- -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
- case " $xrpath " in
- *" $temp_xrpath "*) ;;
- *) xrpath="$xrpath $temp_xrpath";;
- esac;;
- *) temp_deplibs="$temp_deplibs $libdir";;
- esac
- done
- dependency_libs="$temp_deplibs"
- fi
-
- newlib_search_path="$newlib_search_path $absdir"
- # Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
- # ... and its dependency_libs
- tmp_libs=
- for deplib in $dependency_libs; do
- newdependency_libs="$deplib $newdependency_libs"
- if test "X$duplicate_deps" = "Xyes" ; then
- case "$tmp_libs " in
- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
- esac
- fi
- tmp_libs="$tmp_libs $deplib"
- done
-
- if test "$link_all_deplibs" != no; then
- # Add the search paths of all dependency libraries
- for deplib in $dependency_libs; do
- case $deplib in
- -L*) path="$deplib" ;;
- *.la)
- dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$deplib" && dir="."
- # We need an absolute path.
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
- *)
- absdir=`cd "$dir" && pwd`
- if test -z "$absdir"; then
- $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
- absdir="$dir"
- fi
- ;;
- esac
- if grep "^installed=no" $deplib > /dev/null; then
- path="$absdir/$objdir"
- else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$absdir" != "$libdir"; then
- $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
- fi
- path="$absdir"
- fi
- depdepl=
- case $host in
- *-*-darwin*)
- # we do not want to link against static libs,
- # but need to link against shared
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
- depdepl=$tmp
- done
- if test -f "$path/$depdepl" ; then
- depdepl="$path/$depdepl"
- fi
- # do not add paths which are already there
- case " $newlib_search_path " in
- *" $path "*) ;;
- *) newlib_search_path="$newlib_search_path $path";;
- esac
- fi
- path=""
- ;;
- *)
- path="-L$path"
- ;;
- esac
- ;;
- -l*)
- case $host in
- *-*-darwin*)
- # Again, we only want to link against shared libraries
- eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
- for tmp in $newlib_search_path ; do
- if test -f "$tmp/lib$tmp_libs.dylib" ; then
- eval depdepl="$tmp/lib$tmp_libs.dylib"
- break
- fi
- done
- path=""
- ;;
- *) continue ;;
- esac
- ;;
- *) continue ;;
- esac
- case " $deplibs " in
- *" $path "*) ;;
- *) deplibs="$path $deplibs" ;;
- esac
- case " $deplibs " in
- *" $depdepl "*) ;;
- *) deplibs="$depdepl $deplibs" ;;
- esac
- done
- fi # link_all_deplibs != no
- fi # linkmode = lib
- done # for deplib in $libs
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
- # Link the dlpreopened libraries before other libraries
- for deplib in $save_deplibs; do
- deplibs="$deplib $deplibs"
- done
- fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
- # Make sure lib_search_path contains only unique directories.
- lib_search_path=
- for dir in $newlib_search_path; do
- case "$lib_search_path " in
- *" $dir "*) ;;
- *) lib_search_path="$lib_search_path $dir" ;;
- esac
- done
- newlib_search_path=
- fi
-
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
- vars="compile_deplibs finalize_deplibs"
- fi
- for var in $vars dependency_libs; do
- # Add libraries to $var in reverse order
- eval tmp_libs=\"\$$var\"
- new_libs=
- for deplib in $tmp_libs; do
- # FIXME: Pedantically, this is the right thing to do, so
- # that some nasty dependency loop isn't accidentally
- # broken:
- #new_libs="$deplib $new_libs"
- # Pragmatically, this seems to cause very few problems in
- # practice:
- case $deplib in
- -L*) new_libs="$deplib $new_libs" ;;
- -R*) ;;
- *)
- # And here is the reason: when a library appears more
- # than once as an explicit dependence of a library, or
- # is implicitly linked in more than once by the
- # compiler, it is considered special, and multiple
- # occurrences thereof are not removed. Compare this
- # with having the same library being listed as a
- # dependency of multiple other libraries: in this case,
- # we know (pedantically, we assume) the library does not
- # need to be listed more than once, so we keep only the
- # last copy. This is not always right, but it is rare
- # enough that we require users that really mean to play
- # such unportable linking tricks to link the library
- # using -Wl,-lname, so that libtool does not consider it
- # for duplicate removal.
- case " $specialdeplibs " in
- *" $deplib "*) new_libs="$deplib $new_libs" ;;
- *)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$deplib $new_libs" ;;
- esac
- ;;
- esac
- ;;
- esac
- done
- tmp_libs=
- for deplib in $new_libs; do
- case $deplib in
- -L*)
- case " $tmp_libs " in
- *" $deplib "*) ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- ;;
- *) tmp_libs="$tmp_libs $deplib" ;;
- esac
- done
- eval $var=\"$tmp_libs\"
- done # for var
- fi
- # Last step: remove runtime libs from dependency_libs
- # (they stay in deplibs)
- tmp_libs=
- for i in $dependency_libs ; do
- case " $predeps $postdeps $compiler_lib_search_path " in
- *" $i "*)
- i=""
- ;;
- esac
- if test -n "$i" ; then
- tmp_libs="$tmp_libs $i"
- fi
- done
- dependency_libs=$tmp_libs
- done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
- dlprefiles="$newdlprefiles"
- fi
-
- case $linkmode in
- oldlib)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
- fi
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
- fi
-
- if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
- $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
- fi
-
- # Now set the variables for building old libraries.
- build_libtool_libs=no
- oldlibs="$output"
- objs="$objs$old_deplibs"
- ;;
-
- lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
- case $outputname in
- lib*)
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- ;;
- *)
- if test "$module" = no; then
- $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- if test "$need_lib_prefix" != no; then
- # Add the "lib" prefix for modules if required
- name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- eval shared_ext=\"$shrext_cmds\"
- eval libname=\"$libname_spec\"
- else
- libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
- fi
- ;;
- esac
-
- if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
- exit $EXIT_FAILURE
- else
- $echo
- $echo "*** Warning: Linking the shared library $output against the non-libtool"
- $echo "*** objects $objs is not portable!"
- libobjs="$libobjs $objs"
- fi
- fi
-
- if test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
- fi
-
- set dummy $rpath
- if test "$#" -gt 2; then
- $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
- fi
- install_libdir="$2"
-
- oldlibs=
- if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
- # Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
- # convenience libraries should have the same extension an
- # archive normally would.
- oldlibs="$output_objdir/$libname.$libext $oldlibs"
- build_libtool_libs=convenience
- build_old_libs=yes
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
- fi
- else
-
- # Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
- set dummy $vinfo 0 0 0
- IFS="$save_ifs"
-
- if test -n "$8"; then
- $echo "$modename: too many parameters to \`-version-info'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # convert absolute version numbers to libtool ages
- # this retains compatibility with .la files and attempts
- # to make the code below a bit more comprehensible
-
- case $vinfo_number in
- yes)
- number_major="$2"
- number_minor="$3"
- number_revision="$4"
- #
- # There are really only two kinds -- those that
- # use the current revision as the major version
- # and those that subtract age and use age as
- # a minor version. But, then there is irix
- # which has an extra 1 added just for fun
- #
- case $version_type in
- darwin|linux|osf|windows)
- current=`expr $number_major + $number_minor`
- age="$number_minor"
- revision="$number_revision"
- ;;
- freebsd-aout|freebsd-elf|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
- ;;
- irix|nonstopux)
- current=`expr $number_major + $number_minor - 1`
- age="$number_minor"
- revision="$number_minor"
- ;;
- esac
- ;;
- no)
- current="$2"
- revision="$3"
- age="$4"
- ;;
- esac
-
- # Check that each of the things are valid numbers.
- case $current in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $revision in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- case $age in
- 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
- *)
- $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test "$age" -gt "$current"; then
- $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
- $echo "$modename: \`$vinfo' is not valid version information" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Calculate the version variables.
- major=
- versuffix=
- verstring=
- case $version_type in
- none) ;;
-
- darwin)
- # Like Linux, but with the current version available in
- # verstring for coding it into the library header
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- # Darwin ld doesn't like 0 for these options...
- minor_current=`expr $current + 1`
- verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
- ;;
-
- freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
- ;;
-
- freebsd-elf)
- major=".$current"
- versuffix=".$current";
- ;;
-
- irix | nonstopux)
- major=`expr $current - $age + 1`
-
- case $version_type in
- nonstopux) verstring_prefix=nonstopux ;;
- *) verstring_prefix=sgi ;;
- esac
- verstring="$verstring_prefix$major.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$revision
- while test "$loop" -ne 0; do
- iface=`expr $revision - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring_prefix$major.$iface:$verstring"
- done
-
- # Before this point, $major must not contain `.'.
- major=.$major
- versuffix="$major.$revision"
- ;;
-
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- ;;
-
- osf)
- major=.`expr $current - $age`
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
-
- # Add in all the interfaces that we are compatible with.
- loop=$age
- while test "$loop" -ne 0; do
- iface=`expr $current - $loop`
- loop=`expr $loop - 1`
- verstring="$verstring:${iface}.0"
- done
-
- # Make executables depend on our current version.
- verstring="$verstring:${current}.0"
- ;;
-
- sunos)
- major=".$current"
- versuffix=".$current.$revision"
- ;;
-
- windows)
- # Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
- major=`expr $current - $age`
- versuffix="-$major"
- ;;
-
- *)
- $echo "$modename: unknown library version type \`$version_type'" 1>&2
- $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Clear the version info if we defaulted, and they specified a release.
- if test -z "$vinfo" && test -n "$release"; then
- major=
- case $version_type in
- darwin)
- # we can't check for "0.0" in archive_cmds due to quoting
- # problems, so we reset it completely
- verstring=
- ;;
- *)
- verstring="0.0"
- ;;
- esac
- if test "$need_version" = no; then
- versuffix=
- else
- versuffix=".0.0"
- fi
- fi
-
- # Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
- major=
- versuffix=
- verstring=""
- fi
-
- # Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
- build_libtool_libs=no
- build_old_libs=yes
- fi
- else
- # Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
- fi
- fi
-
- if test "$mode" != relink; then
- # Remove our outputs, but don't remove object files since they
- # may have been created when compiling PIC objects.
- removelist=
- tempremovelist=`$echo "$output_objdir/*"`
- for p in $tempremovelist; do
- case $p in
- *.$objext)
- ;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
- if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
- then
- continue
- fi
- fi
- removelist="$removelist $p"
- ;;
- *) ;;
- esac
- done
- if test -n "$removelist"; then
- $show "${rm}r $removelist"
- $run ${rm}r $removelist
- fi
- fi
-
- # Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
- oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
- # Transform .lo files to .o files.
- oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
- fi
-
- # Eliminate all temporary directories.
- for path in $notinst_path; do
- lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
- deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
- dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
- done
-
- if test -n "$xrpath"; then
- # If the user specified any rpath flags, then add them.
- temp_xrpath=
- for libdir in $xrpath; do
- temp_xrpath="$temp_xrpath -R$libdir"
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
- dependency_libs="$temp_xrpath $dependency_libs"
- fi
- fi
-
- # Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
- dlfiles=
- for lib in $old_dlfiles; do
- case " $dlprefiles $dlfiles " in
- *" $lib "*) ;;
- *) dlfiles="$dlfiles $lib" ;;
- esac
- done
-
- # Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
- dlprefiles=
- for lib in $old_dlprefiles; do
- case "$dlprefiles " in
- *" $lib "*) ;;
- *) dlprefiles="$dlprefiles $lib" ;;
- esac
- done
-
- if test "$build_libtool_libs" = yes; then
- if test -n "$rpath"; then
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
- # these systems don't actually have a c library (as such)!
- ;;
- *-*-rhapsody* | *-*-darwin1.[012])
- # Rhapsody C library is in the System framework
- deplibs="$deplibs -framework System"
- ;;
- *-*-netbsd*)
- # Don't link with libc until the a.out ld.so is fixed.
- ;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
- # Do not include libc due to us having libc/libc_r.
- ;;
- *-*-sco3.2v5* | *-*-sco5v6*)
- # Causes problems with __ctype
- ;;
- *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
- # Compiler inserts libc in the correct place for threads to work
- ;;
- *)
- # Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
- deplibs="$deplibs -lc"
- fi
- ;;
- esac
- fi
-
- # Transform deplibs into only deplibs that can be linked in shared.
- name_save=$name
- libname_save=$libname
- release_save=$release
- versuffix_save=$versuffix
- major_save=$major
- # I'm not sure if I'm treating the release correctly. I think
- # release should show up in the -l (ie -lgmp5) so we don't want to
- # add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
- newdeplibs=
- droppeddeps=no
- case $deplibs_check_method in
- pass_all)
- # Don't check for shared/static. Everything works.
- # This might be a little naive. We might want to check
- # whether the library exists or not. But this is on
- # osf3 & osf4 and I'm not really sure... Just
- # implementing what was already the behavior.
- newdeplibs=$deplibs
- ;;
- test_compile)
- # This code stresses the "libraries are programs" paradigm to its
- # limits. Maybe even breaks it. We compile a program, linking it
- # against the deplibs as a proxy for the library. Then we can check
- # whether they linked in statically or dynamically with ldd.
- $rm conftest.c
- cat > conftest.c <<EOF
- int main() { return 0; }
-EOF
- $rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
- if test "$?" -eq 0 ; then
- ldd_output=`ldd conftest`
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" -ne "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which I believe you do not have"
- $echo "*** because a test_compile did reveal that the linker did not use it for"
- $echo "*** its dynamic dependency list that programs get resolved with at runtime."
- fi
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- else
- # Error occurred in the first compile. Let's try to salvage
- # the situation: Compile a separate program for each library.
- for i in $deplibs; do
- name=`expr $i : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- $rm conftest
- $LTCC $LTCFLAGS -o conftest conftest.c $i
- # Did it work?
- if test "$?" -eq 0 ; then
- ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $i "*)
- newdeplibs="$newdeplibs $i"
- i=""
- ;;
- esac
- fi
- if test -n "$i" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- deplib_matches=`eval \\$echo \"$library_names_spec\"`
- set dummy $deplib_matches
- deplib_match=$2
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
- newdeplibs="$newdeplibs $i"
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning: dynamic linker does not accept needed library $i."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because a test_compile did reveal that the linker did not use this one"
- $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
- fi
- fi
- else
- droppeddeps=yes
- $echo
- $echo "*** Warning! Library $i is needed by this library but I was not able to"
- $echo "*** make it link in! You will probably need to install it or some"
- $echo "*** library that it depends on before this library will be fully"
- $echo "*** functional. Installing it before continuing would be even better."
- fi
- else
- newdeplibs="$newdeplibs $i"
- fi
- done
- fi
- ;;
- file_magic*)
- set dummy $deplibs_check_method
- file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test "$name" != "" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- # Follow soft links.
- if ls -lLd "$potent_lib" 2>/dev/null \
- | grep " -> " >/dev/null; then
- continue
- fi
- # The statement above tries to avoid entering an
- # endless loop below, in case of cyclic links.
- # We might still enter an endless loop, since a link
- # loop can be closed while we follow links,
- # but so what?
- potlib="$potent_lib"
- while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
- case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
- esac
- done
- if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$file_magic_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for file magic test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a file magic. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- match_pattern*)
- set dummy $deplibs_check_method
- match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
- for a_deplib in $deplibs; do
- name=`expr $a_deplib : '-l\(.*\)'`
- # If $name is empty we are operating on a -L argument.
- if test -n "$name" && test "$name" != "0"; then
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- case " $predeps $postdeps " in
- *" $a_deplib "*)
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- ;;
- esac
- fi
- if test -n "$a_deplib" ; then
- libname=`eval \\$echo \"$libname_spec\"`
- for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
- for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
- if eval $echo \"$potent_lib\" 2>/dev/null \
- | ${SED} 10q \
- | $EGREP "$match_pattern_regex" > /dev/null; then
- newdeplibs="$newdeplibs $a_deplib"
- a_deplib=""
- break 2
- fi
- done
- done
- fi
- if test -n "$a_deplib" ; then
- droppeddeps=yes
- $echo
- $echo "*** Warning: linker path does not have real file for library $a_deplib."
- $echo "*** I have the capability to make that library automatically link in when"
- $echo "*** you link to this library. But I can only do this if you have a"
- $echo "*** shared version of the library, which you do not appear to have"
- $echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
- $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
- else
- $echo "*** with $libname and none of the candidates passed a file format test"
- $echo "*** using a regex pattern. Last file checked: $potlib"
- fi
- fi
- else
- # Add a -L argument.
- newdeplibs="$newdeplibs $a_deplib"
- fi
- done # Gone through all deplibs.
- ;;
- none | unknown | *)
- newdeplibs=""
- tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
- -e 's/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
- # can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
- done
- fi
- if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
- | grep . >/dev/null; then
- $echo
- if test "X$deplibs_check_method" = "Xnone"; then
- $echo "*** Warning: inter-library dependencies are not supported in this platform."
- else
- $echo "*** Warning: inter-library dependencies are not known to be supported."
- fi
- $echo "*** All declared inter-library dependencies are being dropped."
- droppeddeps=yes
- fi
- ;;
- esac
- versuffix=$versuffix_save
- major=$major_save
- release=$release_save
- libname=$libname_save
- name=$name_save
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
- $echo
- $echo "*** Warning: libtool could not satisfy all declared inter-library"
- $echo "*** dependencies of module $libname. Therefore, libtool will create"
- $echo "*** a static module, that should work as long as the dlopening"
- $echo "*** application is linked with the -dlopen flag."
- if test -z "$global_symbol_pipe"; then
- $echo
- $echo "*** However, this would only work if libtool was able to extract symbol"
- $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
- $echo "*** not find such a program. So, this module is probably useless."
- $echo "*** \`nm' from GNU binutils and a full rebuild may help."
- fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- else
- $echo "*** The inter-library dependencies that have been dropped here will be"
- $echo "*** automatically added whenever a program is linked with this library"
- $echo "*** or is declared to -dlopen it."
-
- if test "$allow_undefined" = no; then
- $echo
- $echo "*** Since this library must not contain undefined symbols,"
- $echo "*** because either the platform does not support them or"
- $echo "*** it was explicitly requested with -no-undefined,"
- $echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
- build_libtool_libs=module
- build_old_libs=yes
- else
- build_libtool_libs=no
- fi
- fi
- fi
- fi
- # Done checking deplibs!
- deplibs=$newdeplibs
- fi
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- deplibs="$new_libs"
-
-
- # All the library-specific variables (install_libdir is set above).
- library_names=
- old_library=
- dlname=
-
- # Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- if test "$hardcode_into_libs" = yes; then
- # Hardcode the library paths
- hardcode_libdirs=
- dep_rpath=
- rpath="$finalize_rpath"
- test "$mode" != relink && rpath="$compile_rpath$rpath"
- for libdir in $rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- dep_rpath="$dep_rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- if test -n "$hardcode_libdir_flag_spec_ld"; then
- eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
- else
- eval dep_rpath=\"$hardcode_libdir_flag_spec\"
- fi
- fi
- if test -n "$runpath_var" && test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
- fi
- test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
- fi
-
- shlibpath="$finalize_shlibpath"
- test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
- if test -n "$shlibpath"; then
- eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
- fi
-
- # Get the real and link names of the library.
- eval shared_ext=\"$shrext_cmds\"
- eval library_names=\"$library_names_spec\"
- set dummy $library_names
- realname="$2"
- shift; shift
-
- if test -n "$soname_spec"; then
- eval soname=\"$soname_spec\"
- else
- soname="$realname"
- fi
- if test -z "$dlname"; then
- dlname=$soname
- fi
-
- lib="$output_objdir/$realname"
- linknames=
- for link
- do
- linknames="$linknames $link"
- done
-
- # Use standard objects if they are pic
- test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- if len=`expr "X$cmd" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- $show "$cmd"
- $run eval "$cmd" || exit $?
- skipped_export=false
- else
- # The command line is too long to execute in one step.
- $show "using reloadable object file for export list..."
- skipped_export=:
- # Break out early, otherwise skipped_export may be
- # set to false by a later but shorter cmd.
- break
- fi
- done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex"; then
- $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
- $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
- $show "$mv \"${export_symbols}T\" \"$export_symbols\""
- $run eval '$mv "${export_symbols}T" "$export_symbols"'
- fi
- fi
- fi
-
- if test -n "$export_symbols" && test -n "$include_expsyms"; then
- $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
- fi
-
- tmp_deplibs=
- for test_deplib in $deplibs; do
- case " $convenience " in
- *" $test_deplib "*) ;;
- *)
- tmp_deplibs="$tmp_deplibs $test_deplib"
- ;;
- esac
- done
- deplibs="$tmp_deplibs"
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- libobjs="$libobjs $func_extract_archives_result"
- fi
- fi
-
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
- eval flag=\"$thread_safe_flag_spec\"
- linker_flags="$linker_flags $flag"
- fi
-
- # Make a backup of the uninstalled library when relinking
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
- fi
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- eval test_cmds=\"$module_expsym_cmds\"
- cmds=$module_expsym_cmds
- else
- eval test_cmds=\"$module_cmds\"
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- eval test_cmds=\"$archive_expsym_cmds\"
- cmds=$archive_expsym_cmds
- else
- eval test_cmds=\"$archive_cmds\"
- cmds=$archive_cmds
- fi
- fi
-
- if test "X$skipped_export" != "X:" &&
- len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- :
- else
- # The command line is too long to link in one step, link piecewise.
- $echo "creating reloadable object files..."
-
- # Save the value of $output and $libobjs because we want to
- # use them later. If we have whole_archive_flag_spec, we
- # want to use save_libobjs as it was before
- # whole_archive_flag_spec was expanded, because we can't
- # assume the linker understands whole_archive_flag_spec.
- # This may have to be revisited, in case too many
- # convenience libraries get linked in and end up exceeding
- # the spec.
- if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
- save_libobjs=$libobjs
- fi
- save_output=$output
- output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
- # Clear the reloadable object creation command queue and
- # initialize k to one.
- test_cmds=
- concat_cmds=
- objlist=
- delfiles=
- last_robj=
- k=1
- output=$output_objdir/$output_la-${k}.$objext
- # Loop over the list of objects to be linked.
- for obj in $save_libobjs
- do
- eval test_cmds=\"$reload_cmds $objlist $last_robj\"
- if test "X$objlist" = X ||
- { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; }; then
- objlist="$objlist $obj"
- else
- # The command $test_cmds is almost too long, add a
- # command to the queue.
- if test "$k" -eq 1 ; then
- # The first file doesn't have a previous command to add.
- eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
- else
- # All subsequent reloadable object files will link in
- # the last one created.
- eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
- fi
- last_robj=$output_objdir/$output_la-${k}.$objext
- k=`expr $k + 1`
- output=$output_objdir/$output_la-${k}.$objext
- objlist=$obj
- len=1
- fi
- done
- # Handle the remaining objects by creating one last
- # reloadable object file. All subsequent reloadable object
- # files will link in the last one created.
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
- if ${skipped_export-false}; then
- $show "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
- $run $rm $export_symbols
- libobjs=$output
- # Append the command to create the export file.
- eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
- fi
-
- # Set up a command to remove the reloadable object files
- # after they are used.
- i=0
- while test "$i" -lt "$k"
- do
- i=`expr $i + 1`
- delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
- done
-
- $echo "creating a temporary reloadable object file: $output"
-
- # Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
- for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- libobjs=$output
- # Restore the value of output.
- output=$save_output
-
- if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
- eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
- fi
- # Expand the library linking commands again to reset the
- # value of $libobjs for piecewise linking.
-
- # Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
- if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
- cmds=$module_expsym_cmds
- else
- cmds=$module_cmds
- fi
- else
- if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
- cmds=$archive_expsym_cmds
- else
- cmds=$archive_cmds
- fi
- fi
-
- # Append the command to remove the reloadable object files
- # to the just-reset $cmds.
- eval cmds=\"\$cmds~\$rm $delfiles\"
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
- if test -n "$convenience"; then
- if test -z "$whole_archive_flag_spec"; then
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- fi
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- # Create links to the real library.
- for linkname in $linknames; do
- if test "$realname" != "$linkname"; then
- $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
- $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
- fi
- done
-
- # If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
- # On all known operating systems, these are identical.
- dlname="$soname"
- fi
- fi
- ;;
-
- obj)
- if test -n "$deplibs"; then
- $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
- fi
-
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
- fi
-
- if test -n "$rpath"; then
- $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
- fi
-
- if test -n "$xrpath"; then
- $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
- fi
-
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
- fi
-
- case $output in
- *.lo)
- if test -n "$objs$old_deplibs"; then
- $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
- exit $EXIT_FAILURE
- fi
- libobj="$output"
- obj=`$echo "X$output" | $Xsed -e "$lo2o"`
- ;;
- *)
- libobj=
- obj="$output"
- ;;
- esac
-
- # Delete the old objects.
- $run $rm $obj $libobj
-
- # Objects from convenience libraries. This assumes
- # single-version convenience libraries. Whenever we create
- # different ones for PIC/non-PIC, this we'll have to duplicate
- # the extraction.
- reload_conv_objs=
- gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec
- wl=
-
- if test -n "$convenience"; then
- if test -n "$whole_archive_flag_spec"; then
- eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
- else
- gentop="$output_objdir/${obj}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $convenience
- reload_conv_objs="$reload_objs $func_extract_archives_result"
- fi
- fi
-
- # Create the old-style object.
- reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
- output="$obj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
-
- # Exit if we aren't doing a library object file.
- if test -z "$libobj"; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- fi
-
- if test "$build_libtool_libs" != yes; then
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- # Create an invalid libtool object if no PIC, so that we don't
- # accidentally link it into a program.
- # $show "echo timestamp > $libobj"
- # $run eval "echo timestamp > $libobj" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test -n "$pic_flag" || test "$pic_mode" != default; then
- # Only do commands if we really have different PIC objects.
- reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
- cmds=$reload_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$gentop"; then
- $show "${rm}r $gentop"
- $run ${rm}r $gentop
- fi
-
- exit $EXIT_SUCCESS
- ;;
-
- prog)
- case $host in
- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
- esac
- if test -n "$vinfo"; then
- $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
- fi
-
- if test -n "$release"; then
- $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
- fi
-
- if test "$preload" = yes; then
- if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
- test "$dlopen_self_static" = unknown; then
- $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
- fi
- fi
-
- case $host in
- *-*-rhapsody* | *-*-darwin1.[012])
- # On Rhapsody replace the C library is the System framework
- compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
- ;;
- esac
-
- case $host in
- *darwin*)
- # Don't allow lazy linking, it breaks C++ global constructors
- if test "$tagname" = CXX ; then
- compile_command="$compile_command ${wl}-bind_at_load"
- finalize_command="$finalize_command ${wl}-bind_at_load"
- fi
- ;;
- esac
-
-
- # move library search paths that coincide with paths to not yet
- # installed libraries to the beginning of the library search list
- new_libs=
- for path in $notinst_path; do
- case " $new_libs " in
- *" -L$path/$objdir "*) ;;
- *)
- case " $compile_deplibs " in
- *" -L$path/$objdir "*)
- new_libs="$new_libs -L$path/$objdir" ;;
- esac
- ;;
- esac
- done
- for deplib in $compile_deplibs; do
- case $deplib in
- -L*)
- case " $new_libs " in
- *" $deplib "*) ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- ;;
- *) new_libs="$new_libs $deplib" ;;
- esac
- done
- compile_deplibs="$new_libs"
-
-
- compile_command="$compile_command $compile_deplibs"
- finalize_command="$finalize_command $finalize_deplibs"
-
- if test -n "$rpath$xrpath"; then
- # If the user specified any rpath flags, then add them.
- for libdir in $rpath $xrpath; do
- # This is the magic to use -rpath.
- case "$finalize_rpath " in
- *" $libdir "*) ;;
- *) finalize_rpath="$finalize_rpath $libdir" ;;
- esac
- done
- fi
-
- # Now hardcode the library paths
- rpath=
- hardcode_libdirs=
- for libdir in $compile_rpath $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$perm_rpath " in
- *" $libdir "*) ;;
- *) perm_rpath="$perm_rpath $libdir" ;;
- esac
- fi
- case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
- testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
- case :$dllsearchpath: in
- *":$libdir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$libdir";;
- esac
- case :$dllsearchpath: in
- *":$testbindir:"*) ;;
- *) dllsearchpath="$dllsearchpath:$testbindir";;
- esac
- ;;
- esac
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- compile_rpath="$rpath"
-
- rpath=
- hardcode_libdirs=
- for libdir in $finalize_rpath; do
- if test -n "$hardcode_libdir_flag_spec"; then
- if test -n "$hardcode_libdir_separator"; then
- if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
- else
- # Just accumulate the unique libdirs.
- case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
- *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
- ;;
- *)
- hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
- ;;
- esac
- fi
- else
- eval flag=\"$hardcode_libdir_flag_spec\"
- rpath="$rpath $flag"
- fi
- elif test -n "$runpath_var"; then
- case "$finalize_perm_rpath " in
- *" $libdir "*) ;;
- *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
- esac
- fi
- done
- # Substitute the hardcoded libdirs into the rpath.
- if test -n "$hardcode_libdir_separator" &&
- test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
- eval rpath=\" $hardcode_libdir_flag_spec\"
- fi
- finalize_rpath="$rpath"
-
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
- # Transform all the library objects into standard objects.
- compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- fi
-
- dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- if test -n "$NM" && test -n "$global_symbol_pipe"; then
- dlsyms="${outputname}S.c"
- else
- $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
- fi
- fi
-
- if test -n "$dlsyms"; then
- case $dlsyms in
- "") ;;
- *.c)
- # Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${outputname}.nm"
-
- $show "$rm $nlist ${nlist}S ${nlist}T"
- $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
- # Parse the name list into a source file.
- $show "creating $output_objdir/$dlsyms"
-
- test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
- if test "$dlself" = yes; then
- $show "generating symbol list for \`$output'"
-
- test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
- # Add our own program objects to the symbol list.
- progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
- for arg in $progfiles; do
- $show "extracting global C symbols from \`$arg'"
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -n "$exclude_expsyms"; then
- $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- if test -n "$export_symbols_regex"; then
- $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
- $run eval '$mv "$nlist"T "$nlist"'
- fi
-
- # Prepare the list of exported symbols
- if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
- $run $rm $export_symbols
- $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- else
- $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
- $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
- $run eval 'mv "$nlist"T "$nlist"'
- case $host in
- *cygwin* | *mingw* )
- $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
- $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
- ;;
- esac
- fi
- fi
-
- for arg in $dlprefiles; do
- $show "extracting global C symbols from \`$arg'"
- name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
- $run eval '$echo ": $name " >> "$nlist"'
- $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
- done
-
- if test -z "$run"; then
- # Make sure we have at least an empty file.
- test -f "$nlist" || : > "$nlist"
-
- if test -n "$exclude_expsyms"; then
- $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
- $mv "$nlist"T "$nlist"
- fi
-
- # Try sorting and uniquifying the output.
- if grep -v "^: " < "$nlist" |
- if sort -k 3 </dev/null >/dev/null 2>&1; then
- sort -k 3
- else
- sort +2
- fi |
- uniq > "$nlist"S; then
- :
- else
- grep -v "^: " < "$nlist" > "$nlist"S
- fi
-
- if test -f "$nlist"S; then
- eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
- else
- $echo '/* NONE */' >> "$output_objdir/$dlsyms"
- fi
-
- $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
- case $host in
- *cygwin* | *mingw* )
- $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs */
-struct {
-"
- ;;
- * )
- $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
- ;;
- esac
-
-
- $echo >> "$output_objdir/$dlsyms" "\
- const char *name;
- lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
- eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
- $echo >> "$output_objdir/$dlsyms" "\
- {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
- fi
-
- pic_flag_for_symtable=
- case $host in
- # compiling the symbol table file with pic_flag works around
- # a FreeBSD bug that causes programs to crash when -lm is
- # linked before any other PIC object. But we must not use
- # pic_flag when linking with -static. The problem exists in
- # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
- *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
- esac;;
- *-*-hpux*)
- case "$compile_command " in
- *" -static "*) ;;
- *) pic_flag_for_symtable=" $pic_flag";;
- esac
- esac
-
- # Now compile the dynamic symbol file.
- $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
- $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
- # Clean up the generated files.
- $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
- $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
- # Transform the symbol file into the correct name.
- case $host in
- *cygwin* | *mingw* )
- if test -f "$output_objdir/${outputname}.def" ; then
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"`
- else
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- fi
- ;;
- * )
- compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
- ;;
- esac
- ;;
- *)
- $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- else
- # We keep going just in case the user didn't refer to
- # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
- # really was required.
-
- # Nullify the symbol file.
- compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
- finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
- fi
-
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- # Replace the output file specification.
- compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
-
- # We have no uninstalled library dependencies, so finalize right now.
- $show "$link_command"
- $run eval "$link_command"
- exit_status=$?
-
- # Delete the generated files.
- if test -n "$dlsyms"; then
- $show "$rm $output_objdir/${outputname}S.${objext}"
- $run $rm "$output_objdir/${outputname}S.${objext}"
- fi
-
- exit $exit_status
- fi
-
- if test -n "$shlibpath_var"; then
- # We should set the shlibpath_var
- rpath=
- for dir in $temp_rpath; do
- case $dir in
- [\\/]* | [A-Za-z]:[\\/]*)
- # Absolute path.
- rpath="$rpath$dir:"
- ;;
- *)
- # Relative path: add a thisdir entry.
- rpath="$rpath\$thisdir/$dir:"
- ;;
- esac
- done
- temp_rpath="$rpath"
- fi
-
- if test -n "$compile_shlibpath$finalize_shlibpath"; then
- compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
- fi
- if test -n "$finalize_shlibpath"; then
- finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
- fi
-
- compile_var=
- finalize_var=
- if test -n "$runpath_var"; then
- if test -n "$perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $perm_rpath; do
- rpath="$rpath$dir:"
- done
- compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- if test -n "$finalize_perm_rpath"; then
- # We should set the runpath_var.
- rpath=
- for dir in $finalize_perm_rpath; do
- rpath="$rpath$dir:"
- done
- finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
- fi
- fi
-
- if test "$no_install" = yes; then
- # We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
- # Delete the old output file.
- $run $rm $output
- # Link the executable and exit
- $show "$link_command"
- $run eval "$link_command" || exit $?
- exit $EXIT_SUCCESS
- fi
-
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
-
- $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
- $echo "$modename: \`$output' will be relinked during installation" 1>&2
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
-
- # Replace the output file specification.
- link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
- # Delete the old output files.
- $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
- $show "$link_command"
- $run eval "$link_command" || exit $?
-
- # Now create the wrapper script.
- $show "creating $output"
-
- # Quote the relink command for shipping.
- if test -n "$relink_command"; then
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Quote $echo for shipping.
- if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
- case $progpath in
- [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
- *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
- esac
- qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
- else
- qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
- fi
-
- # Only actually do things if our run command is non-null.
- if test -z "$run"; then
- # win32 will think the script is a binary if it has
- # a .exe suffix, so we strip it off here.
- case $output in
- *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
- esac
- # test for cygwin because mv fails w/o .exe extensions
- case $host in
- *cygwin*)
- exeext=.exe
- outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
- *) exeext= ;;
- esac
- case $host in
- *cygwin* | *mingw* )
- output_name=`basename $output`
- output_path=`dirname $output`
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
- $rm $cwrappersource $cwrapper
- trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
- cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
- The $output program cannot be directly executed until all the libtool
- libraries that it depends on are installed.
-
- This wrapper executable should never be moved out of the build directory.
- If it is, it will not operate correctly.
-
- Currently, it simply execs the wrapper *script* "/bin/sh $output",
- but could eventually absorb all of the scripts functionality and
- exec $objdir/$outputname directly.
-*/
-EOF
- cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-# define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-# define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
- (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS. */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
- char **newargz;
- int i;
-
- program_name = (char *) xstrdup (base_name (argv[0]));
- DEBUG("(main) argv[0] : %s\n",argv[0]);
- DEBUG("(main) program_name : %s\n",program_name);
- newargz = XMALLOC(char *, argc+2);
-EOF
-
- cat >> $cwrappersource <<EOF
- newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
- cat >> $cwrappersource <<"EOF"
- newargz[1] = find_executable(argv[0]);
- if (newargz[1] == NULL)
- lt_fatal("Couldn't find %s", argv[0]);
- DEBUG("(main) found exe at : %s\n",newargz[1]);
- /* we know the script has the same name, without the .exe */
- /* so make sure newargz[1] doesn't end in .exe */
- strendzap(newargz[1],".exe");
- for (i = 1; i < argc; i++)
- newargz[i+1] = xstrdup(argv[i]);
- newargz[argc+1] = NULL;
-
- for (i=0; i<argc+1; i++)
- {
- DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
- ;
- }
-
-EOF
-
- case $host_os in
- mingw*)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",(char const **)newargz);
-EOF
- ;;
- *)
- cat >> $cwrappersource <<EOF
- execv("$SHELL",newargz);
-EOF
- ;;
- esac
-
- cat >> $cwrappersource <<"EOF"
- return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
- void * p = (void *) malloc (num);
- if (!p)
- lt_fatal ("Memory exhausted");
-
- return p;
-}
-
-char *
-xstrdup (const char *string)
-{
- return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
- const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- /* Skip over the disk name in MSDOS pathnames. */
- if (isalpha ((unsigned char)name[0]) && name[1] == ':')
- name += 2;
-#endif
-
- for (base = name; *name; name++)
- if (IS_DIR_SEPARATOR (*name))
- base = name + 1;
- return base;
-}
-
-int
-check_executable(const char * path)
-{
- struct stat st;
-
- DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
- if ((!path) || (!*path))
- return 0;
-
- if ((stat (path, &st) >= 0) &&
- (
- /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
- ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
- ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
- ((st.st_mode & S_IXUSR) == S_IXUSR))
- )
- return 1;
- else
- return 0;
-}
-
-/* Searches for the full path of the wrapper. Returns
- newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
- int has_slash = 0;
- const char* p;
- const char* p_next;
- /* static buffer for getcwd */
- char tmp[LT_PATHMAX + 1];
- int tmp_len;
- char* concat_name;
-
- DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
- if ((wrapper == NULL) || (*wrapper == '\0'))
- return NULL;
-
- /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- else
- {
-#endif
- if (IS_DIR_SEPARATOR (wrapper[0]))
- {
- concat_name = xstrdup (wrapper);
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
- }
-#endif
-
- for (p = wrapper; *p; p++)
- if (*p == '/')
- {
- has_slash = 1;
- break;
- }
- if (!has_slash)
- {
- /* no slashes; search PATH */
- const char* path = getenv ("PATH");
- if (path != NULL)
- {
- for (p = path; *p; p = p_next)
- {
- const char* q;
- size_t p_len;
- for (q = p; *q; q++)
- if (IS_PATH_SEPARATOR(*q))
- break;
- p_len = q - p;
- p_next = (*q == '\0' ? q : q + 1);
- if (p_len == 0)
- {
- /* empty path: current directory */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
- }
- else
- {
- concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, p, p_len);
- concat_name[p_len] = '/';
- strcpy (concat_name + p_len + 1, wrapper);
- }
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- }
- }
- /* not found in PATH; assume curdir */
- }
- /* Relative path | not found in path: prepend cwd */
- if (getcwd (tmp, LT_PATHMAX) == NULL)
- lt_fatal ("getcwd failed");
- tmp_len = strlen(tmp);
- concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
- memcpy (concat_name, tmp, tmp_len);
- concat_name[tmp_len] = '/';
- strcpy (concat_name + tmp_len + 1, wrapper);
-
- if (check_executable(concat_name))
- return concat_name;
- XFREE(concat_name);
- return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
- size_t len, patlen;
-
- assert(str != NULL);
- assert(pat != NULL);
-
- len = strlen(str);
- patlen = strlen(pat);
-
- if (patlen <= len)
- {
- str += len - patlen;
- if (strcmp(str, pat) == 0)
- *str = '\0';
- }
- return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
- const char * message, va_list ap)
-{
- fprintf (stderr, "%s: %s: ", program_name, mode);
- vfprintf (stderr, message, ap);
- fprintf (stderr, ".\n");
-
- if (exit_status >= 0)
- exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
- va_list ap;
- va_start (ap, message);
- lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
- va_end (ap);
-}
-EOF
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
- $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
- ;;
- esac
- $rm $output
- trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
- $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
- # install mode needs the following variable:
- notinst_deplibs='$notinst_deplibs'
-else
- # When we are sourced in execute mode, \$file and \$echo are already set.
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- echo=\"$qecho\"
- file=\"\$0\"
- # Make sure echo works.
- if test \"X\$1\" = X--no-reexec; then
- # Discard the --no-reexec flag, and continue.
- shift
- elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
- # Yippee, \$echo works!
- :
- else
- # Restart under the correct shell, and then maybe \$echo will work.
- exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
- fi
- fi\
-"
- $echo >> $output "\
-
- # Find the directory that this script lives in.
- thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
- test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
- # Follow symbolic links until we get to the real thisdir.
- file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
- while test -n \"\$file\"; do
- destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
- # If there was a directory component, then change thisdir.
- if test \"x\$destdir\" != \"x\$file\"; then
- case \"\$destdir\" in
- [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
- *) thisdir=\"\$thisdir/\$destdir\" ;;
- esac
- fi
-
- file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
- file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
- done
-
- # Try to get the absolute directory name.
- absdir=\`cd \"\$thisdir\" && pwd\`
- test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
- if test "$fast_install" = yes; then
- $echo >> $output "\
- program=lt-'$outputname'$exeext
- progdir=\"\$thisdir/$objdir\"
-
- if test ! -f \"\$progdir/\$program\" || \\
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
- test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
- file=\"\$\$-\$program\"
-
- if test ! -d \"\$progdir\"; then
- $mkdir \"\$progdir\"
- else
- $rm \"\$progdir/\$file\"
- fi"
-
- $echo >> $output "\
-
- # relink executable if necessary
- if test -n \"\$relink_command\"; then
- if relink_command_output=\`eval \$relink_command 2>&1\`; then :
- else
- $echo \"\$relink_command_output\" >&2
- $rm \"\$progdir/\$file\"
- exit $EXIT_FAILURE
- fi
- fi
-
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
- { $rm \"\$progdir/\$program\";
- $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
- $rm \"\$progdir/\$file\"
- fi"
- else
- $echo >> $output "\
- program='$outputname'
- progdir=\"\$thisdir/$objdir\"
-"
- fi
-
- $echo >> $output "\
-
- if test -f \"\$progdir/\$program\"; then"
-
- # Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
- $echo >> $output "\
- # Add our own library path to $shlibpath_var
- $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
- # Some systems cannot cope with colon-terminated $shlibpath_var
- # The second colon is a workaround for a bug in BeOS R4 sed
- $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
- export $shlibpath_var
-"
- fi
-
- # fixup the dll searchpath if we need to.
- if test -n "$dllsearchpath"; then
- $echo >> $output "\
- # Add the dll search path components to the executable PATH
- PATH=$dllsearchpath:\$PATH
-"
- fi
-
- $echo >> $output "\
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- # Run the actual program with our arguments.
-"
- case $host in
- # Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
- $echo >> $output "\
- exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
- ;;
-
- *)
- $echo >> $output "\
- exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
- ;;
- esac
- $echo >> $output "\
- \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
- exit $EXIT_FAILURE
- fi
- else
- # The program doesn't exist.
- \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
- \$echo \"This script is just a wrapper for \$program.\" 1>&2
- $echo \"See the $PACKAGE documentation for more information.\" 1>&2
- exit $EXIT_FAILURE
- fi
-fi\
-"
- chmod +x $output
- fi
- exit $EXIT_SUCCESS
- ;;
- esac
-
- # See if we need to build an old-fashioned archive.
- for oldlib in $oldlibs; do
-
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
- build_libtool_libs=no
- else
- oldobjs="$old_deplibs $non_pic_objects"
- fi
- addlibs="$old_convenience"
- fi
-
- if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- func_extract_archives $gentop $addlibs
- oldobjs="$oldobjs $func_extract_archives_result"
- fi
-
- # Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
- cmds=$old_archive_from_new_cmds
- else
- # POSIX demands no paths to be encoded in archives. We have
- # to avoid creating archives with duplicate basenames if we
- # might have to extract them afterwards, e.g., when creating a
- # static archive out of a convenience library, or when linking
- # the entirety of a libtool archive into another (currently
- # not supported by libtool).
- if (for obj in $oldobjs
- do
- $echo "X$obj" | $Xsed -e 's%^.*/%%'
- done | sort | sort -uc >/dev/null 2>&1); then
- :
- else
- $echo "copying selected object files to avoid basename conflicts..."
-
- if test -z "$gentop"; then
- gentop="$output_objdir/${outputname}x"
- generated="$generated $gentop"
-
- $show "${rm}r $gentop"
- $run ${rm}r "$gentop"
- $show "$mkdir $gentop"
- $run $mkdir "$gentop"
- exit_status=$?
- if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
- exit $exit_status
- fi
- fi
-
- save_oldobjs=$oldobjs
- oldobjs=
- counter=1
- for obj in $save_oldobjs
- do
- objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
- case " $oldobjs " in
- " ") oldobjs=$obj ;;
- *[\ /]"$objbase "*)
- while :; do
- # Make sure we don't pick an alternate name that also
- # overlaps.
- newobj=lt$counter-$objbase
- counter=`expr $counter + 1`
- case " $oldobjs " in
- *[\ /]"$newobj "*) ;;
- *) if test ! -f "$gentop/$newobj"; then break; fi ;;
- esac
- done
- $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
- $run ln "$obj" "$gentop/$newobj" ||
- $run cp "$obj" "$gentop/$newobj"
- oldobjs="$oldobjs $gentop/$newobj"
- ;;
- *) oldobjs="$oldobjs $obj" ;;
- esac
- done
- fi
-
- eval cmds=\"$old_archive_cmds\"
-
- if len=`expr "X$cmds" : ".*"` &&
- test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
- cmds=$old_archive_cmds
- else
- # the command line is too long to link in one step, link in parts
- $echo "using piecewise archive linking..."
- save_RANLIB=$RANLIB
- RANLIB=:
- objlist=
- concat_cmds=
- save_oldobjs=$oldobjs
-
- # Is there a better way of finding the last object in the list?
- for obj in $save_oldobjs
- do
- last_oldobj=$obj
- done
- for obj in $save_oldobjs
- do
- oldobjs="$objlist $obj"
- objlist="$objlist $obj"
- eval test_cmds=\"$old_archive_cmds\"
- if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
- test "$len" -le "$max_cmd_len"; then
- :
- else
- # the above command should be used before it gets too long
- oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
- RANLIB=$save_RANLIB
- fi
- test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
- objlist=
- fi
- done
- RANLIB=$save_RANLIB
- oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
- eval cmds=\"\$concat_cmds\"
- else
- eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
- fi
- fi
- fi
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- eval cmd=\"$cmd\"
- IFS="$save_ifs"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$generated"; then
- $show "${rm}r$generated"
- $run ${rm}r$generated
- fi
-
- # Now create the libtool archive.
- case $output in
- *.la)
- old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
- $show "creating $output"
-
- # Preserve any variables that may affect compiler behavior
- for var in $variables_saved_for_relink; do
- if eval test -z \"\${$var+set}\"; then
- relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
- elif eval var_value=\$$var; test -z "$var_value"; then
- relink_command="$var=; export $var; $relink_command"
- else
- var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
- relink_command="$var=\"$var_value\"; export $var; $relink_command"
- fi
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
- relink_command=
- fi
-
-
- # Only create the output if not a dry run.
- if test -z "$run"; then
- for installed in no yes; do
- if test "$installed" = yes; then
- if test -z "$install_libdir"; then
- break
- fi
- output="$output_objdir/$outputname"i
- # Replace all uninstalled libtool libraries with the installed ones
- newdependency_libs=
- for deplib in $dependency_libs; do
- case $deplib in
- *.la)
- name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- if test -z "$libdir"; then
- $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdependency_libs="$newdependency_libs $libdir/$name"
- ;;
- *) newdependency_libs="$newdependency_libs $deplib" ;;
- esac
- done
- dependency_libs="$newdependency_libs"
- newdlfiles=
- for lib in $dlfiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlfiles="$newdlfiles $libdir/$name"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
- if test -z "$libdir"; then
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- exit $EXIT_FAILURE
- fi
- newdlprefiles="$newdlprefiles $libdir/$name"
- done
- dlprefiles="$newdlprefiles"
- else
- newdlfiles=
- for lib in $dlfiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlfiles="$newdlfiles $abs"
- done
- dlfiles="$newdlfiles"
- newdlprefiles=
- for lib in $dlprefiles; do
- case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
- *) abs=`pwd`"/$lib" ;;
- esac
- newdlprefiles="$newdlprefiles $abs"
- done
- dlprefiles="$newdlprefiles"
- fi
- $rm $output
- # place dlname in correct position for cygwin
- tdlname=$dlname
- case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
- esac
- $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
- $echo >> $output "\
-relink_command=\"$relink_command\""
- fi
- done
- fi
-
- # Do a symbolic link so that the libtool archive can be found in
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
- ;;
- esac
- exit $EXIT_SUCCESS
- ;;
-
- # libtool install mode
- install)
- modename="$modename: install"
-
- # There may be an optional sh(1) argument at the beginning of
- # install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
- # Allow the use of GNU shtool's install command.
- $echo "X$nonopt" | grep shtool > /dev/null; then
- # Aesthetically quote it.
- arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$arg "
- arg="$1"
- shift
- else
- install_prog=
- arg=$nonopt
- fi
-
- # The real first argument should be the name of the installation program.
- # Aesthetically quote it.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog$arg"
-
- # We need to accept at least all the BSD install flags.
- dest=
- files=
- opts=
- prev=
- install_type=
- isdir=no
- stripme=
- for arg
- do
- if test -n "$dest"; then
- files="$files $dest"
- dest=$arg
- continue
- fi
-
- case $arg in
- -d) isdir=yes ;;
- -f)
- case " $install_prog " in
- *[\\\ /]cp\ *) ;;
- *) prev=$arg ;;
- esac
- ;;
- -g | -m | -o) prev=$arg ;;
- -s)
- stripme=" -s"
- continue
- ;;
- -*)
- ;;
- *)
- # If the previous option needed an argument, then skip it.
- if test -n "$prev"; then
- prev=
- else
- dest=$arg
- continue
- fi
- ;;
- esac
-
- # Aesthetically quote the argument.
- arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
- case $arg in
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- arg="\"$arg\""
- ;;
- esac
- install_prog="$install_prog $arg"
- done
-
- if test -z "$install_prog"; then
- $echo "$modename: you must specify an install program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$prev"; then
- $echo "$modename: the \`$prev' option requires an argument" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -z "$files"; then
- if test -z "$dest"; then
- $echo "$modename: no file or destination specified" 1>&2
- else
- $echo "$modename: you must specify a destination" 1>&2
- fi
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Strip any trailing slash from the destination.
- dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
- # Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
- destname=
- else
- destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
- test "X$destdir" = "X$dest" && destdir=.
- destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
- # Not a directory, so check to see that there is only one file specified.
- set dummy $files
- if test "$#" -gt 2; then
- $echo "$modename: \`$dest' is not a directory" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
- case $destdir in
- [\\/]* | [A-Za-z]:[\\/]*) ;;
- *)
- for file in $files; do
- case $file in
- *.lo) ;;
- *)
- $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
- done
- ;;
- esac
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- staticlibs=
- future_libdirs=
- current_libdirs=
- for file in $files; do
-
- # Do each installation.
- case $file in
- *.$libext)
- # Do the static libraries later.
- staticlibs="$staticlibs $file"
- ;;
-
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- library_names=
- old_library=
- relink_command=
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Add the libdir to current_libdirs if it is the destination.
- if test "X$destdir" = "X$libdir"; then
- case "$current_libdirs " in
- *" $libdir "*) ;;
- *) current_libdirs="$current_libdirs $libdir" ;;
- esac
- else
- # Note the libdir as a future libdir.
- case "$future_libdirs " in
- *" $libdir "*) ;;
- *) future_libdirs="$future_libdirs $libdir" ;;
- esac
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
- test "X$dir" = "X$file/" && dir=
- dir="$dir$objdir"
-
- if test -n "$relink_command"; then
- # Determine the prefix the user has applied to our future dir.
- inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
- # Don't allow the user to place us outside of our expected
- # location b/c this prevents finding dependent libraries that
- # are installed to the same prefix.
- # At present, this check doesn't affect windows .dll's that
- # are installed into $libdir/../bin (currently, that works fine)
- # but it's something to keep an eye on.
- if test "$inst_prefix_dir" = "$destdir"; then
- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
- exit $EXIT_FAILURE
- fi
-
- if test -n "$inst_prefix_dir"; then
- # Stick the inst_prefix_dir data into the link command.
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
- else
- relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
- fi
-
- $echo "$modename: warning: relinking \`$file'" 1>&2
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- exit $EXIT_FAILURE
- fi
- fi
-
- # See the names of the shared library.
- set dummy $library_names
- if test -n "$2"; then
- realname="$2"
- shift
- shift
-
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
-
- # Install the shared library and build the symlinks.
- $show "$install_prog $dir/$srcname $destdir/$realname"
- $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
- if test -n "$stripme" && test -n "$striplib"; then
- $show "$striplib $destdir/$realname"
- $run eval "$striplib $destdir/$realname" || exit $?
- fi
-
- if test "$#" -gt 0; then
- # Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
- # the symlink we replace! Solaris /bin/ln does not understand -f,
- # so we also need to try rm && ln -s.
- for linkname
- do
- if test "$linkname" != "$realname"; then
- $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
- fi
- done
- fi
-
- # Do each command in the postinstall commands.
- lib="$destdir/$realname"
- cmds=$postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || {
- lt_exit=$?
-
- # Restore the uninstalled library and exit
- if test "$mode" = relink; then
- $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
- fi
-
- exit $lt_exit
- }
- done
- IFS="$save_ifs"
- fi
-
- # Install the pseudo-library for information purposes.
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- instname="$dir/$name"i
- $show "$install_prog $instname $destdir/$name"
- $run eval "$install_prog $instname $destdir/$name" || exit $?
-
- # Maybe install the static library, too.
- test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
- ;;
-
- *.lo)
- # Install (i.e. copy) a libtool object.
-
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # Deduce the name of the destination old-style object file.
- case $destfile in
- *.lo)
- staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
- ;;
- *.$objext)
- staticdest="$destfile"
- destfile=
- ;;
- *)
- $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- # Install the libtool object if requested.
- if test -n "$destfile"; then
- $show "$install_prog $file $destfile"
- $run eval "$install_prog $file $destfile" || exit $?
- fi
-
- # Install the old object if enabled.
- if test "$build_old_libs" = yes; then
- # Deduce the name of the old-style object file.
- staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
- $show "$install_prog $staticobj $staticdest"
- $run eval "$install_prog \$staticobj \$staticdest" || exit $?
- fi
- exit $EXIT_SUCCESS
- ;;
-
- *)
- # Figure out destination file name, if it wasn't already specified.
- if test -n "$destname"; then
- destfile="$destdir/$destname"
- else
- destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- destfile="$destdir/$destfile"
- fi
-
- # If the file is missing, and there is a .exe on the end, strip it
- # because it is most likely a libtool script we actually want to
- # install
- stripped_ext=""
- case $file in
- *.exe)
- if test ! -f "$file"; then
- file=`$echo $file|${SED} 's,.exe$,,'`
- stripped_ext=".exe"
- fi
- ;;
- esac
-
- # Do a test to see if this is really a libtool program.
- case $host in
- *cygwin*|*mingw*)
- wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
- ;;
- *)
- wrapper=$file
- ;;
- esac
- if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
- notinst_deplibs=
- relink_command=
-
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- # Check the variables that should have been set.
- if test -z "$notinst_deplibs"; then
- $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
- exit $EXIT_FAILURE
- fi
-
- finalize=yes
- for lib in $notinst_deplibs; do
- # Check to see that each library is installed.
- libdir=
- if test -f "$lib"; then
- # If there is no directory component, then add one.
- case $lib in
- */* | *\\*) . $lib ;;
- *) . ./$lib ;;
- esac
- fi
- libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
- if test -n "$libdir" && test ! -f "$libfile"; then
- $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
- finalize=no
- fi
- done
-
- relink_command=
- # Note that it is not necessary on cygwin/mingw to append a dot to
- # foo even if both foo and FILE.exe exist: automatic-append-.exe
- # behavior happens only for exec(3), not for open(2)! Also, sourcing
- # `FILE.' does not work on cygwin managed mounts.
- #
- # If there is no directory component, then add one.
- case $wrapper in
- */* | *\\*) . ${wrapper} ;;
- *) . ./${wrapper} ;;
- esac
-
- outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
- if test "$finalize" = yes && test -z "$run"; then
- tmpdir=`func_mktempdir`
- file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
- outputname="$tmpdir/$file"
- # Replace the output file specification.
- relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
- $show "$relink_command"
- if $run eval "$relink_command"; then :
- else
- $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
- ${rm}r "$tmpdir"
- continue
- fi
- file="$outputname"
- else
- $echo "$modename: warning: cannot relink \`$file'" 1>&2
- fi
- else
- # Install the binary that we compiled earlier.
- file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
- fi
- fi
-
- # remove .exe since cygwin /usr/bin/install will append another
- # one anyway
- case $install_prog,$host in
- */usr/bin/install*,*cygwin*)
- case $file:$destfile in
- *.exe:*.exe)
- # this is ok
- ;;
- *.exe:*)
- destfile=$destfile.exe
- ;;
- *:*.exe)
- destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
- ;;
- esac
- ;;
- esac
- $show "$install_prog$stripme $file $destfile"
- $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
- test -n "$outputname" && ${rm}r "$tmpdir"
- ;;
- esac
- done
-
- for file in $staticlibs; do
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
- # Set up the ranlib parameters.
- oldlib="$destdir/$name"
-
- $show "$install_prog $file $oldlib"
- $run eval "$install_prog \$file \$oldlib" || exit $?
-
- if test -n "$stripme" && test -n "$old_striplib"; then
- $show "$old_striplib $oldlib"
- $run eval "$old_striplib $oldlib" || exit $?
- fi
-
- # Do each command in the postinstall commands.
- cmds=$old_postinstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || exit $?
- done
- IFS="$save_ifs"
- done
-
- if test -n "$future_libdirs"; then
- $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
- fi
-
- if test -n "$current_libdirs"; then
- # Maybe just do a dry run.
- test -n "$run" && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
- else
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool finish mode
- finish)
- modename="$modename: finish"
- libdirs="$nonopt"
- admincmds=
-
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- libdirs="$libdirs $dir"
- done
-
- for libdir in $libdirs; do
- if test -n "$finish_cmds"; then
- # Do each command in the finish commands.
- cmds=$finish_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd" || admincmds="$admincmds
- $cmd"
- done
- IFS="$save_ifs"
- fi
- if test -n "$finish_eval"; then
- # Do the single finish_eval.
- eval cmds=\"$finish_eval\"
- $run eval "$cmds" || admincmds="$admincmds
- $cmds"
- fi
- done
- fi
-
- # Exit here if they wanted silent mode.
- test "$show" = : && exit $EXIT_SUCCESS
-
- $echo "X----------------------------------------------------------------------" | $Xsed
- $echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $echo " $libdir"
- done
- $echo
- $echo "If you ever happen to want to link against installed libraries"
- $echo "in a given directory, LIBDIR, you must either use libtool, and"
- $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- $echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- $echo " during execution"
- fi
- if test -n "$runpath_var"; then
- $echo " - add LIBDIR to the \`$runpath_var' environment variable"
- $echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- $echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- $echo
- $echo "See any operating system documentation about shared libraries for"
- $echo "more information, such as the ld(1) and ld.so(8) manual pages."
- $echo "X----------------------------------------------------------------------" | $Xsed
- exit $EXIT_SUCCESS
- ;;
-
- # libtool execute mode
- execute)
- modename="$modename: execute"
-
- # The first argument is the command name.
- cmd="$nonopt"
- if test -z "$cmd"; then
- $echo "$modename: you must specify a COMMAND" 1>&2
- $echo "$help"
- exit $EXIT_FAILURE
- fi
-
- # Handle -dlopen flags immediately.
- for file in $execute_dlfiles; do
- if test ! -f "$file"; then
- $echo "$modename: \`$file' is not a file" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- dir=
- case $file in
- *.la)
- # Check to see that this really is a libtool archive.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
- else
- $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Read the libtool library.
- dlname=
- library_names=
-
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Skip this library if it cannot be dlopened.
- if test -z "$dlname"; then
- # Warn if it was a shared library.
- test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
- continue
- fi
-
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
-
- if test -f "$dir/$objdir/$dlname"; then
- dir="$dir/$objdir"
- else
- $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
- exit $EXIT_FAILURE
- fi
- ;;
-
- *.lo)
- # Just add the directory containing the .lo file.
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- test "X$dir" = "X$file" && dir=.
- ;;
-
- *)
- $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
- continue
- ;;
- esac
-
- # Get the absolute pathname.
- absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
-
- # Now add the directory to shlibpath_var.
- if eval "test -z \"\$$shlibpath_var\""; then
- eval "$shlibpath_var=\"\$dir\""
- else
- eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
- fi
- done
-
- # This variable tells wrapper scripts just to set shlibpath_var
- # rather than running their programs.
- libtool_execute_magic="$magic"
-
- # Check if any of the arguments is a wrapper script.
- args=
- for file
- do
- case $file in
- -*) ;;
- *)
- # Do a test to see if this is really a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- # If there is no directory component, then add one.
- case $file in
- */* | *\\*) . $file ;;
- *) . ./$file ;;
- esac
-
- # Transform arg to wrapped name.
- file="$progdir/$program"
- fi
- ;;
- esac
- # Quote arguments (to preserve shell metacharacters).
- file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
- args="$args \"$file\""
- done
-
- if test -z "$run"; then
- if test -n "$shlibpath_var"; then
- # Export the shlibpath_var.
- eval "export $shlibpath_var"
- fi
-
- # Restore saved environment variables
- if test "${save_LC_ALL+set}" = set; then
- LC_ALL="$save_LC_ALL"; export LC_ALL
- fi
- if test "${save_LANG+set}" = set; then
- LANG="$save_LANG"; export LANG
- fi
-
- # Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
- $echo "export $shlibpath_var"
- fi
- $echo "$cmd$args"
- exit $EXIT_SUCCESS
- fi
- ;;
-
- # libtool clean and uninstall mode
- clean | uninstall)
- modename="$modename: $mode"
- rm="$nonopt"
- files=
- rmforce=
- exit_status=0
-
- # This variable tells wrapper scripts just to set variables rather
- # than running their programs.
- libtool_install_magic="$magic"
-
- for arg
- do
- case $arg in
- -f) rm="$rm $arg"; rmforce=yes ;;
- -*) rm="$rm $arg" ;;
- *) files="$files $arg" ;;
- esac
- done
-
- if test -z "$rm"; then
- $echo "$modename: you must specify an RM program" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- rmdirs=
-
- origobjdir="$objdir"
- for file in $files; do
- dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
- if test "X$dir" = "X$file"; then
- dir=.
- objdir="$origobjdir"
- else
- objdir="$dir/$origobjdir"
- fi
- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
- test "$mode" = uninstall && objdir="$dir"
-
- # Remember objdir for removal later, being careful to avoid duplicates
- if test "$mode" = clean; then
- case " $rmdirs " in
- *" $objdir "*) ;;
- *) rmdirs="$rmdirs $objdir" ;;
- esac
- fi
-
- # Don't error if the file doesn't exist and rm -f was used.
- if (test -L "$file") >/dev/null 2>&1 \
- || (test -h "$file") >/dev/null 2>&1 \
- || test -f "$file"; then
- :
- elif test -d "$file"; then
- exit_status=1
- continue
- elif test "$rmforce" = yes; then
- continue
- fi
-
- rmfiles="$file"
-
- case $name in
- *.la)
- # Possibly a libtool archive, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- . $dir/$name
-
- # Delete the libtool libraries and symlinks.
- for n in $library_names; do
- rmfiles="$rmfiles $objdir/$n"
- done
- test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
- case "$mode" in
- clean)
- case " $library_names " in
- # " " in the beginning catches empty $dlname
- *" $dlname "*) ;;
- *) rmfiles="$rmfiles $objdir/$dlname" ;;
- esac
- test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
- ;;
- uninstall)
- if test -n "$library_names"; then
- # Do each command in the postuninstall commands.
- cmds=$postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
-
- if test -n "$old_library"; then
- # Do each command in the old_postuninstall commands.
- cmds=$old_postuninstall_cmds
- save_ifs="$IFS"; IFS='~'
- for cmd in $cmds; do
- IFS="$save_ifs"
- eval cmd=\"$cmd\"
- $show "$cmd"
- $run eval "$cmd"
- if test "$?" -ne 0 && test "$rmforce" != yes; then
- exit_status=1
- fi
- done
- IFS="$save_ifs"
- fi
- # FIXME: should reinstall the best remaining shared library.
- ;;
- esac
- fi
- ;;
-
- *.lo)
- # Possibly a libtool object, so verify it.
- if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
- # Read the .lo file
- . $dir/$name
-
- # Add PIC object to the list of files to remove.
- if test -n "$pic_object" \
- && test "$pic_object" != none; then
- rmfiles="$rmfiles $dir/$pic_object"
- fi
-
- # Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" \
- && test "$non_pic_object" != none; then
- rmfiles="$rmfiles $dir/$non_pic_object"
- fi
- fi
- ;;
-
- *)
- if test "$mode" = clean ; then
- noexename=$name
- case $file in
- *.exe)
- file=`$echo $file|${SED} 's,.exe$,,'`
- noexename=`$echo $name|${SED} 's,.exe$,,'`
- # $file with .exe has already been added to rmfiles,
- # add $file without .exe
- rmfiles="$rmfiles $file"
- ;;
- esac
- # Do a test to see if this is a libtool program.
- if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
- relink_command=
- . $dir/$noexename
-
- # note $name still contains .exe if it was in $file originally
- # as does the version of $file that was added into $rmfiles
- rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
- rmfiles="$rmfiles $objdir/lt-$name"
- fi
- if test "X$noexename" != "X$name" ; then
- rmfiles="$rmfiles $objdir/lt-${noexename}.c"
- fi
- fi
- fi
- ;;
- esac
- $show "$rm $rmfiles"
- $run $rm $rmfiles || exit_status=1
- done
- objdir="$origobjdir"
-
- # Try to remove the ${objdir}s in the directories where we deleted files
- for dir in $rmdirs; do
- if test -d "$dir"; then
- $show "rmdir $dir"
- $run rmdir $dir >/dev/null 2>&1
- fi
- done
-
- exit $exit_status
- ;;
-
- "")
- $echo "$modename: you must specify a MODE" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- ;;
- esac
-
- if test -z "$exec_cmd"; then
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$generic_help" 1>&2
- exit $EXIT_FAILURE
- fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
- eval exec $exec_cmd
- exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
- --config show all configuration variables
- --debug enable verbose shell tracing
--n, --dry-run display commands without modifying any files
- --features display basic configuration information and exit
- --finish same as \`--mode=finish'
- --help display this help message and exit
- --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
- --quiet same as \`--silent'
- --silent don't print informational messages
- --tag=TAG use configuration variables from tag TAG
- --version print version information
-
-MODE must be one of the following:
-
- clean remove files from the build directory
- compile compile a source file into a libtool object
- execute automatically set library path, then run a program
- finish complete the installation of libtool libraries
- install install libraries or executables
- link create a library or an executable
- uninstall remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
- exit $EXIT_SUCCESS
- ;;
-
-clean)
- $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
- ;;
-
-compile)
- $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
- -o OUTPUT-FILE set the output file name to OUTPUT-FILE
- -prefer-pic try to building PIC objects only
- -prefer-non-pic try to building non-PIC objects only
- -static always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
- ;;
-
-execute)
- $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
- -dlopen FILE add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
- ;;
-
-finish)
- $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
- ;;
-
-install)
- $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
- ;;
-
-link)
- $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
- -all-static do not do any dynamic linking at all
- -avoid-version do not add a version suffix if possible
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
- -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
- -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
- -export-symbols SYMFILE
- try to export only the symbols listed in SYMFILE
- -export-symbols-regex REGEX
- try to export only the symbols matching REGEX
- -LLIBDIR search LIBDIR for required installed libraries
- -lNAME OUTPUT-FILE requires the installed library libNAME
- -module build a library that can dlopened
- -no-fast-install disable the fast-install mode
- -no-install link a not-installable executable
- -no-undefined declare that a library does not refer to external symbols
- -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
- -precious-files-regex REGEX
- don't remove output files matching REGEX
- -release RELEASE specify package release information
- -rpath LIBDIR the created library will eventually be installed in LIBDIR
- -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
- -static do not do any dynamic linking of libtool libraries
- -version-info CURRENT[:REVISION[:AGE]]
- specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename. Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
- ;;
-
-uninstall)
- $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
- ;;
-
-*)
- $echo "$modename: invalid operation mode \`$mode'" 1>&2
- $echo "$help" 1>&2
- exit $EXIT_FAILURE
- ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them. This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration. But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# ### BEGIN LIBTOOL TAG CONFIG: CXX
-
-# Libtool was configured on host dune:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/bash"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=no
-
-# Whether or not to build static libraries.
-build_old_libs=yes
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=needless
-
-# The host system.
-host_alias=
-host=i686-pc-linux-gnu
-host_os=linux-gnu
-
-# The build system.
-build_alias=
-build=i686-pc-linux-gnu
-build_os=linux-gnu
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-g -O2"
-
-# A language-specific compiler.
-CC="g++"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=32768
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=" -fno-builtin"
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names. First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.2/crtbeginS.o"
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.3.2/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crtn.o"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2 -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/i486-linux-gnu/4.3.2/../../.."
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=" /usr/lib/gcc/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../i486-linux-gnu/4.3.2/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/ /lib/i486-linux-gnu/4.3.2/ /lib/../lib/ /usr/lib/i486-linux-gnu/4.3.2/ /usr/lib/../lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../i486-linux-gnu/lib/ /usr/lib/gcc/i486-linux-gnu/4.3.2/../../../ /lib/ /usr/lib/"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/lib/alsa-lib /usr/local/lib "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=""
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL TAG CONFIG: CXX
-
diff --git a/main/lzo/lzo2.pc.cmakein b/main/lzo/lzo2.pc.cmakein
new file mode 100644
index 00000000..728c84b2
--- /dev/null
+++ b/main/lzo/lzo2.pc.cmakein
@@ -0,0 +1,21 @@
+#
+# lzo2.pc -- LZO pkg-config configuration file
+#
+# This file is part of the LZO data compression library.
+# http://www.oberhumer.com/opensource/lzo/
+#
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
+# All Rights Reserved.
+#
+
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_FULL_BINDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+
+Name: lzo2
+Version: @PROJECT_VERSION@
+Description: LZO - a real-time data compression library
+URL: http://www.oberhumer.com/opensource/lzo/
+Cflags: -I${includedir}/lzo
+Libs: -L${libdir} -llzo2
diff --git a/main/lzo/lzo2.pc.in b/main/lzo/lzo2.pc.in
new file mode 100644
index 00000000..d5d7fa98
--- /dev/null
+++ b/main/lzo/lzo2.pc.in
@@ -0,0 +1,21 @@
+#
+# lzo2.pc -- LZO pkg-config configuration file
+#
+# This file is part of the LZO data compression library.
+# http://www.oberhumer.com/opensource/lzo/
+#
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
+# All Rights Reserved.
+#
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+includedir=@includedir@
+libdir=@libdir@
+
+Name: lzo2
+Version: @PACKAGE_VERSION@
+Description: LZO - a real-time data compression library
+URL: http://www.oberhumer.com/opensource/lzo/
+Cflags: -I${includedir}/lzo
+Libs: -L${libdir} -llzo2
diff --git a/main/lzo/lzotest/.deps/lzotest.Po b/main/lzo/lzotest/.deps/lzotest.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/lzotest/.deps/lzotest.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/lzotest/Makefile b/main/lzo/lzotest/Makefile
deleted file mode 100644
index 44391091..00000000
--- a/main/lzo/lzotest/Makefile
+++ /dev/null
@@ -1,441 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# lzotest/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = lzotest$(EXEEXT)
-subdir = lzotest
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_lzotest_OBJECTS = lzotest.$(OBJEXT)
-lzotest_OBJECTS = $(am_lzotest_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(lzotest_SOURCES)
-DIST_SOURCES = $(lzotest_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-lzotest_SOURCES = lzotest.c
-lzotest_LDADD = ../src/liblzo2.la
-lzotest_DEPENDENCIES = ../src/liblzo2.la
-EXTRA_DIST = asm.h db.h wrap.h wrapmisc.h mygetopt.ch mygetopt.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lzotest/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lzotest/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-lzotest$(EXEEXT): $(lzotest_OBJECTS) $(lzotest_DEPENDENCIES)
- @rm -f lzotest$(EXEEXT)
- $(LINK) $(lzotest_LDFLAGS) $(lzotest_OBJECTS) $(lzotest_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/lzotest.Po
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/lzotest/Makefile.am b/main/lzo/lzotest/Makefile.am
deleted file mode 100644
index 842ccfb3..00000000
--- a/main/lzo/lzotest/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-
-noinst_PROGRAMS = lzotest
-
-lzotest_SOURCES = lzotest.c
-lzotest_LDADD = ../src/liblzo2.la
-lzotest_DEPENDENCIES = ../src/liblzo2.la
-
-EXTRA_DIST = asm.h db.h wrap.h wrapmisc.h mygetopt.ch mygetopt.h
-
diff --git a/main/lzo/lzotest/Makefile.in b/main/lzo/lzotest/Makefile.in
deleted file mode 100644
index d2df9024..00000000
--- a/main/lzo/lzotest/Makefile.in
+++ /dev/null
@@ -1,441 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-noinst_PROGRAMS = lzotest$(EXEEXT)
-subdir = lzotest
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_lzotest_OBJECTS = lzotest.$(OBJEXT)
-lzotest_OBJECTS = $(am_lzotest_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(lzotest_SOURCES)
-DIST_SOURCES = $(lzotest_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-lzotest_SOURCES = lzotest.c
-lzotest_LDADD = ../src/liblzo2.la
-lzotest_DEPENDENCIES = ../src/liblzo2.la
-EXTRA_DIST = asm.h db.h wrap.h wrapmisc.h mygetopt.ch mygetopt.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lzotest/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lzotest/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-lzotest$(EXEEXT): $(lzotest_OBJECTS) $(lzotest_DEPENDENCIES)
- @rm -f lzotest$(EXEEXT)
- $(LINK) $(lzotest_LDFLAGS) $(lzotest_OBJECTS) $(lzotest_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzotest.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/lzotest/asm.h b/main/lzo/lzotest/asm.h
index 72b82893..3648bbe1 100644
--- a/main/lzo/lzotest/asm.h
+++ b/main/lzo/lzotest/asm.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/lzotest/db.h b/main/lzo/lzotest/db.h
index 36fc481d..d7023418 100644
--- a/main/lzo/lzotest/db.h
+++ b/main/lzo/lzotest/db.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/lzotest/lzotest.c b/main/lzo/lzotest/lzotest.c
index e4bae0f8..41fd726a 100644
--- a/main/lzo/lzotest/lzotest.c
+++ b/main/lzo/lzotest/lzotest.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -1456,7 +1456,7 @@ void usage ( const char *name, int exit_code, lzo_bool show_methods )
if (c->decompress_asm_fast_safe)
{ fprintf(fp, "%s%s", sep, "fastasm+safe"); sep = ", "; }
if (c->optimize)
- { fprintf(fp, "%s%s", sep, "optimize"); sep = ", "; }
+ { fprintf(fp, "%s%s", sep, "optimize"); /*sep = ", ";*/ }
fprintf(fp, "\n");
}
}
@@ -1904,7 +1904,7 @@ int __lzo_cdecl_main main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
/*
diff --git a/main/lzo/lzotest/mygetopt.ch b/main/lzo/lzotest/mygetopt.ch
deleted file mode 100644
index af4d282c..00000000
--- a/main/lzo/lzotest/mygetopt.ch
+++ /dev/null
@@ -1,698 +0,0 @@
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
- before changing it!
-
- Copyright (C) 1987, 88, 89, 90, 91, 92, 1993
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-
-#ifndef EOF
-#include <stdio.h>
-#include <string.h>
-#endif
-
-
-#undef PROGNAME
-#define PROGNAME(x) (x)
-
-
-/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a
- long-named option. Because this is not POSIX.2 compliant, it is
- being phased out. */
-/* #define GETOPT_COMPAT */
-#undef GETOPT_COMPAT
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-#include "mygetopt.h"
-#define option mfx_option
-#define optarg mfx_optarg
-#define optind mfx_optind
-#define opterr mfx_opterr
-#define optopt mfx_optopt
-#undef BAD_OPTION
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg = NULL;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* XXX 1003.2 says this must be 1 before any call. */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-#define BAD_OPTION '\0'
-int optopt = BAD_OPTION;
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return EOF with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved.
-
- To perform the swap, we first reverse the order of all elements. So
- all options now come before all non options, but they are in the
- wrong order. So we put back the options and non options in original
- order by reversing them again. For example:
- original input: a b c -x -y
- reverse all: -y -x c b a
- reverse options: -x -y c b a
- reverse non options: -x -y a b c
-*/
-
-
-static void exchange (char **argv)
-{
- char *temp; char **first, **last;
-
- /* Reverse all the elements [first_nonopt, optind) */
- first = &argv[first_nonopt];
- last = &argv[optind-1];
- while (first < last) {
- temp = *first; *first = *last; *last = temp; first++; last--;
- }
- /* Put back the options in order */
- first = &argv[first_nonopt];
- first_nonopt += (optind - last_nonopt);
- last = &argv[first_nonopt - 1];
- while (first < last) {
- temp = *first; *first = *last; *last = temp; first++; last--;
- }
-
- /* Put back the non options in order */
- first = &argv[first_nonopt];
- last_nonopt = optind;
- last = &argv[last_nonopt-1];
- while (first < last) {
- temp = *first; *first = *last; *last = temp; first++; last--;
- }
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns `EOF'.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return BAD_OPTION after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return BAD_OPTION.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-static int _getopt_internal (int argc, char **argv, const char *optstring,
- const struct option *longopts, int *longind,
- int long_only)
-{
- static char empty_string[1];
- int option_index;
-
- if (longind != NULL)
- *longind = -1;
-
- optarg = 0;
-
- /* Initialize the internal data when the first call is made.
- Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- if (optind == 0)
- {
- first_nonopt = last_nonopt = optind = 1;
-
- nextchar = NULL;
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
-#if 0
- else if (getenv ("POSIXLY_CORRECT") != NULL)
- ordering = REQUIRE_ORDER;
-#endif
- else
- ordering = PERMUTE;
- }
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange (argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Now skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc
- && (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
- && (longopts == NULL
- || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif /* GETOPT_COMPAT */
- )
- optind++;
- last_nonopt = optind;
- }
-
- /* Special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange (argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return EOF;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if ((argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
- && (longopts == NULL
- || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif /* GETOPT_COMPAT */
- )
- {
- if (ordering == REQUIRE_ORDER)
- return EOF;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Start decoding its characters. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- if (longopts != NULL
- && ((argv[optind][0] == '-'
- && (argv[optind][1] == '-' || long_only))
-#ifdef GETOPT_COMPAT
- || argv[optind][0] == '+'
-#endif /* GETOPT_COMPAT */
- ))
- {
- const struct option *p;
- char *s = nextchar;
- int exact = 0;
- int ambig = 0;
- const struct option *pfound = NULL;
- int indfound = 0;
- int needexact = 0;
-
- /* allow `--option#value' because you cannout assign a '='
- to an environment variable under DOS command.com */
- while (*s && *s != '=' && * s != '#')
- s++;
-
- /* Test all options for either exact match or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name;
- p++, option_index++)
- if (!strncmp (p->name, nextchar, (unsigned) (s - nextchar)))
- {
- if (p->has_arg & 0x10)
- needexact = 1;
- if ((unsigned) (s - nextchar) == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second nonexact match found. */
- ambig = 1;
- }
-
- /* don't allow nonexact longoptions */
- if (needexact && !exact)
- {
- if (opterr)
- fprintf (stderr, "%s: unrecognized option `%s'\n",
- PROGNAME(argv[0]), argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return BAD_OPTION;
- }
- if (ambig && !exact)
- {
- if (opterr)
- fprintf (stderr, "%s: option `%s' is ambiguous\n",
- PROGNAME(argv[0]), argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return BAD_OPTION;
- }
-
- if (pfound != NULL)
- {
- int have_arg = (s[0] != '\0');
- if (have_arg && (pfound->has_arg & 0xf))
- have_arg = (s[1] != '\0');
- option_index = indfound;
- optind++;
- if (have_arg)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg & 0xf)
- optarg = s + 1;
- else
- {
- if (opterr)
- {
- if (argv[optind - 1][1] == '-')
- /* --option */
- fprintf (stderr,
- "%s: option `--%s' doesn't allow an argument\n",
- PROGNAME(argv[0]), pfound->name);
- else
- /* +option or -option */
- fprintf (stderr,
- "%s: option `%c%s' doesn't allow an argument\n",
- PROGNAME(argv[0]), argv[optind - 1][0], pfound->name);
- }
- nextchar += strlen (nextchar);
- return BAD_OPTION;
- }
- }
- else if ((pfound->has_arg & 0xf) == 1)
- {
-#if 0
- if (optind < argc)
-#else
- if (optind < argc && (pfound->has_arg & 0x20) == 0)
-#endif
- optarg = argv[optind++];
- else
- {
- if (opterr)
- fprintf (stderr, "%s: option `--%s%s' requires an argument\n",
- PROGNAME(argv[0]), pfound->name,
- (pfound->has_arg & 0x20) ? "=" : "");
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : BAD_OPTION;
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
-#ifdef GETOPT_COMPAT
- || argv[optind][0] == '+'
-#endif /* GETOPT_COMPAT */
- || strchr (optstring, *nextchar) == NULL)
- {
- if (opterr)
- {
- if (argv[optind][1] == '-')
- /* --option */
- fprintf (stderr, "%s: unrecognized option `--%s'\n",
- PROGNAME(argv[0]), nextchar);
- else
- /* +option or -option */
- fprintf (stderr, "%s: unrecognized option `%c%s'\n",
- PROGNAME(argv[0]), argv[optind][0], nextchar);
- }
- nextchar = empty_string;
- optind++;
- return BAD_OPTION;
- }
- (void) &ambig; /* UNUSED */
- }
-
- /* Look at and handle the next option-character. */
-
- {
- char c = *nextchar++;
- const char *temp = strchr (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (opterr)
- {
-#if 0
- if (c < 040 || c >= 0177)
- fprintf (stderr, "%s: unrecognized option, character code 0%o\n",
- PROGNAME(argv[0]), c);
- else
- fprintf (stderr, "%s: unrecognized option `-%c'\n", PROGNAME(argv[0]), c);
-#else
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, "%s: illegal option -- %c\n", PROGNAME(argv[0]), c);
-#endif
- }
- optopt = c;
- return BAD_OPTION;
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = 0;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (opterr)
- {
-#if 0
- fprintf (stderr, "%s: option `-%c' requires an argument\n",
- PROGNAME(argv[0]), c);
-#else
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, "%s: option requires an argument -- %c\n",
- PROGNAME(argv[0]), c);
-#endif
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = BAD_OPTION;
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int mfx_getopt(int argc, char **argv, const char *optstring)
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-int mfx_getopt_long(int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index)
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
- the above definition of `getopt'. */
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
-
- c = getopt (argc, argv, "abc:d:0123456789");
- if (c == EOF)
- break;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case BAD_OPTION:
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif /* TEST */
-
-
-/*
-vi:ts=4:et:nowrap
-*/
-
diff --git a/main/lzo/lzotest/mygetopt.h b/main/lzo/lzotest/mygetopt.h
deleted file mode 100644
index a0de9af3..00000000
--- a/main/lzo/lzotest/mygetopt.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Declarations for getopt.
- Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifndef __MFX_GETOPT_H
-#define __MFX_GETOPT_H 1
-
-#ifdef __cplusplus
-/* extern "C" { */
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *mfx_optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int mfx_optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int mfx_opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int mfx_optopt;
-
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct mfx_option
-{
- const char *name;
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-#define mfx_no_argument 0
-#define mfx_required_argument 1
-#define mfx_optional_argument 2
-#define mfx_exact_argument 0x10 /* no abbrev. */
-
-int mfx_getopt(int argc, char **argv, const char *shortopts);
-int mfx_getopt_long(int argc, char **argv, const char *shortopts,
- const struct mfx_option *longopts, int *longind);
-
-#ifdef __cplusplus
-/* } */
-#endif
-
-#endif /* __MFX_GETOPT_H */
diff --git a/main/lzo/lzotest/wrap.h b/main/lzo/lzotest/wrap.h
index d2a9c13a..815ce046 100644
--- a/main/lzo/lzotest/wrap.h
+++ b/main/lzo/lzotest/wrap.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -238,6 +238,7 @@ adler32_x_compress ( const lzo_bytep src, lzo_uint src_len,
lzo_uint32_t adler;
adler = lzo_adler32(0, NULL, 0);
adler = lzo_adler32(adler, dst, src_len);
+ LZO_UNUSED_RESULT(adler);
*dst_len = src_len;
LZO_UNUSED(src); LZO_UNUSED(wrkmem);
return 0;
@@ -252,6 +253,7 @@ crc32_x_compress ( const lzo_bytep src, lzo_uint src_len,
lzo_uint32_t crc;
crc = lzo_crc32(0, NULL, 0);
crc = lzo_crc32(crc, dst, src_len);
+ LZO_UNUSED_RESULT(crc);
*dst_len = src_len;
LZO_UNUSED(src); LZO_UNUSED(wrkmem);
return 0;
diff --git a/main/lzo/lzotest/wrapmisc.h b/main/lzo/lzotest/wrapmisc.h
index 12c48091..50e73b6e 100644
--- a/main/lzo/lzotest/wrapmisc.h
+++ b/main/lzo/lzotest/wrapmisc.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/minilzo/.deps/minilzo.Po b/main/lzo/minilzo/.deps/minilzo.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/minilzo/.deps/minilzo.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/minilzo/.deps/testmini.Po b/main/lzo/minilzo/.deps/testmini.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/minilzo/.deps/testmini.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/minilzo/Makefile b/main/lzo/minilzo/Makefile
deleted file mode 100644
index 78258d88..00000000
--- a/main/lzo/minilzo/Makefile
+++ /dev/null
@@ -1,442 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# minilzo/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = testmini$(EXEEXT)
-subdir = minilzo
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_testmini_OBJECTS = testmini.$(OBJEXT) minilzo.$(OBJEXT)
-testmini_OBJECTS = $(am_testmini_OBJECTS)
-testmini_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(testmini_SOURCES)
-DIST_SOURCES = $(testmini_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-AM_CPPFLAGS = -DMINILZO_HAVE_CONFIG_H
-INCLUDES = -I$(top_srcdir)/include/lzo -I$(top_srcdir)/include
-testmini_SOURCES = testmini.c minilzo.c
-EXTRA_DIST = README.LZO Makefile.minilzo minilzo.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu minilzo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu minilzo/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-testmini$(EXEEXT): $(testmini_OBJECTS) $(testmini_DEPENDENCIES)
- @rm -f testmini$(EXEEXT)
- $(LINK) $(testmini_LDFLAGS) $(testmini_OBJECTS) $(testmini_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/minilzo.Po
-include ./$(DEPDIR)/testmini.Po
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/minilzo/Makefile.am b/main/lzo/minilzo/Makefile.am
deleted file mode 100644
index 4b3693c9..00000000
--- a/main/lzo/minilzo/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-AM_CPPFLAGS = -DMINILZO_HAVE_CONFIG_H
-INCLUDES = -I$(top_srcdir)/include/lzo -I$(top_srcdir)/include
-
-noinst_PROGRAMS = testmini
-
-testmini_SOURCES = testmini.c minilzo.c
-
-EXTRA_DIST = README.LZO Makefile.minilzo minilzo.h
-
diff --git a/main/lzo/minilzo/Makefile.in b/main/lzo/minilzo/Makefile.in
deleted file mode 100644
index c12dc8b4..00000000
--- a/main/lzo/minilzo/Makefile.in
+++ /dev/null
@@ -1,442 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-noinst_PROGRAMS = testmini$(EXEEXT)
-subdir = minilzo
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_testmini_OBJECTS = testmini.$(OBJEXT) minilzo.$(OBJEXT)
-testmini_OBJECTS = $(am_testmini_OBJECTS)
-testmini_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(testmini_SOURCES)
-DIST_SOURCES = $(testmini_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-AM_CPPFLAGS = -DMINILZO_HAVE_CONFIG_H
-INCLUDES = -I$(top_srcdir)/include/lzo -I$(top_srcdir)/include
-testmini_SOURCES = testmini.c minilzo.c
-EXTRA_DIST = README.LZO Makefile.minilzo minilzo.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu minilzo/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu minilzo/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-testmini$(EXEEXT): $(testmini_OBJECTS) $(testmini_DEPENDENCIES)
- @rm -f testmini$(EXEEXT)
- $(LINK) $(testmini_LDFLAGS) $(testmini_OBJECTS) $(testmini_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minilzo.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testmini.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/minilzo/Makefile.minilzo b/main/lzo/minilzo/Makefile.minilzo
index 6e301637..ae4d6d41 100644
--- a/main/lzo/minilzo/Makefile.minilzo
+++ b/main/lzo/minilzo/Makefile.minilzo
@@ -1,7 +1,7 @@
#
# a very simple Makefile for miniLZO
#
-# Copyright (C) 1996-2015 Markus F.X.J. Oberhumer
+# Copyright (C) 1996-2017 Markus F.X.J. Oberhumer
#
PROGRAM = testmini
diff --git a/main/lzo/minilzo/README.LZO b/main/lzo/minilzo/README.LZO
index b82d13b8..7d9bea5c 100644
--- a/main/lzo/minilzo/README.LZO
+++ b/main/lzo/minilzo/README.LZO
@@ -6,8 +6,8 @@
Author : Markus Franz Xaver Johannes Oberhumer
<markus@oberhumer.com>
http://www.oberhumer.com/opensource/lzo/
- Version : 2.09
- Date : 04 Feb 2015
+ Version : 2.10
+ Date : 01 Mar 2017
I've created miniLZO for projects where it is inconvenient to
include (or require) the full LZO source code just because you
@@ -110,7 +110,7 @@
Appendix D: Copyright
---------------------
- LZO and miniLZO are Copyright (C) 1996-2015 Markus Franz Xaver Oberhumer
+ LZO and miniLZO are Copyright (C) 1996-2017 Markus Franz Xaver Oberhumer
All Rights Reserved.
LZO and miniLZO are distributed under the terms of the GNU General
diff --git a/main/lzo/minilzo/minilzo.c b/main/lzo/minilzo/minilzo.c
index 801f5300..8fd86645 100644
--- a/main/lzo/minilzo/minilzo.c
+++ b/main/lzo/minilzo/minilzo.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -60,6 +60,33 @@
# define __LONG_MAX__ 9223372036854775807L
# endif
#endif
+#if 0
+#elif !defined(__LZO_LANG_OVERRIDE)
+#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__)
+# if (__ASSEMBLER__+0) <= 0
+# error "__ASSEMBLER__"
+# else
+# define LZO_LANG_ASSEMBLER 1
+# endif
+#elif defined(__cplusplus)
+# if (__cplusplus+0) <= 0
+# error "__cplusplus"
+# elif (__cplusplus < 199711L)
+# define LZO_LANG_CXX 1
+# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1
+# define LZO_LANG_CXX _MSVC_LANG
+# else
+# define LZO_LANG_CXX __cplusplus
+# endif
+# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX
+#else
+# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L)
+# define LZO_LANG_C __STDC_VERSION__
+# else
+# define LZO_LANG_C 1
+# endif
+#endif
+#endif
#if !defined(LZO_CFG_NO_DISABLE_WUNDEF)
#if defined(__ARMCC_VERSION)
# pragma diag_suppress 193
@@ -155,10 +182,12 @@
# endif
#endif
#endif
-#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(_MSC_VER) && defined(M_I86HM)
# define ptrdiff_t long
# define _PTRDIFF_T_DEFINED 1
#endif
+#endif
#if (UINT_MAX == LZO_0xffffL)
# undef __LZO_RENAME_A
# undef __LZO_RENAME_B
@@ -307,7 +336,7 @@
#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f)
#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g)
#endif
-#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-!!(b))) - (o)) << 1) + (o)*!!(b))
+#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
# define __STDC_CONSTANT_MACROS 1
@@ -558,6 +587,12 @@
# define LZO_CC_ARMCC __ARMCC_VERSION
# define LZO_INFO_CC "ARM C Compiler"
# define LZO_INFO_CCVER __VERSION__
+#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER)
+# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
+# define LZO_CC_CLANG_C2 _MSC_VER
+# define LZO_CC_CLANG_VENDOR_MICROSOFT 1
+# define LZO_INFO_CC "clang/c2"
+# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__)
#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__)
# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0))
@@ -569,8 +604,18 @@
# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
# endif
-# define LZO_INFO_CC "clang"
-# define LZO_INFO_CCVER __VERSION__
+# if defined(__APPLE_CC__)
+# define LZO_CC_CLANG_VENDOR_APPLE 1
+# define LZO_INFO_CC "clang/apple"
+# else
+# define LZO_CC_CLANG_VENDOR_LLVM 1
+# define LZO_INFO_CC "clang"
+# endif
+# if defined(__clang_version__)
+# define LZO_INFO_CCVER __clang_version__
+# else
+# define LZO_INFO_CCVER __VERSION__
+# endif
#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
# if defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0))
@@ -790,7 +835,7 @@
#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
# define LZO_ARCH_I086 1
# define LZO_INFO_ARCH "i086"
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(_M_ARM64)
# define LZO_ARCH_ARM64 1
# define LZO_INFO_ARCH "arm64"
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
@@ -880,6 +925,15 @@
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__)
+# define LZO_ARCH_POWERPC 1
+# define LZO_INFO_ARCH "powerpc"
+#elif defined(__riscv)
+# define LZO_ARCH_RISCV 1
+# define LZO_INFO_ARCH "riscv"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
# define LZO_ARCH_S390 1
# define LZO_INFO_ARCH "s390"
@@ -916,17 +970,21 @@
#endif
#if !defined(LZO_ARCH_ARM_THUMB2)
#if (LZO_ARCH_ARM)
-# if defined(__ARM_ARCH_ISA_THUMB)
-# if ((__ARM_ARCH_ISA_THUMB)+0 >= 2)
-# define LZO_ARCH_ARM_THUMB2 1
-# endif
-# elif 1 && defined(__thumb2__)
-# define LZO_ARCH_ARM_THUMB2 1
-# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
-# define LZO_ARCH_ARM_THUMB2 1
+# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB)
+# if defined(__thumb2__)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4)
+# define LZO_ARCH_ARM_THUMB2 1
+# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7)
+# define LZO_ARCH_ARM_THUMB2 1
+# endif
# endif
#endif
#endif
+#if (LZO_ARCH_ARM_THUMB2)
+# undef LZO_INFO_ARCH
+# define LZO_INFO_ARCH "arm_thumb2"
+#endif
#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
# error "FIXME - missing define for CPU architecture"
#endif
@@ -1130,7 +1188,7 @@
# error "unexpected configuration - check your compiler defines"
# endif
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
extern "C" {
#endif
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
@@ -1153,7 +1211,7 @@ extern "C" {
#else
# error "FIXME - implement LZO_MM_AHSHIFT"
#endif
-#ifdef __cplusplus
+#if defined(__cplusplus)
}
#endif
#endif
@@ -1239,7 +1297,6 @@ extern "C" {
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_IBMC >= 600)
# define __lzo_gnuc_extension__ __extension__
-#else
#endif
#endif
#if !defined(__lzo_gnuc_extension__)
@@ -1285,7 +1342,7 @@ extern "C" {
#endif
#endif
#if !defined(lzo_has_extension)
-# define lzo_has_extension 0
+# define lzo_has_extension(x) 0
#endif
#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
@@ -1432,6 +1489,9 @@ extern "C" {
# define LZO_UNUSED(var) ((void) &var)
# endif
#endif
+#if !defined(LZO_UNUSED_RESULT)
+# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var)
+#endif
#if !defined(LZO_UNUSED_FUNC)
# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
# define LZO_UNUSED_FUNC(func) ((void) func)
@@ -1850,6 +1910,7 @@ extern "C" {
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
+#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2)
#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
@@ -1962,11 +2023,16 @@ extern "C" {
# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];}
# endif
#endif
+#if (LZO_LANG_ASSEMBLER)
+# undef LZO_COMPILE_TIME_ASSERT_HEADER
+# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/
+#else
LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1)
#if defined(__cplusplus)
extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) }
#endif
LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
+#endif
#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
@@ -2041,6 +2107,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3)
#endif
#endif
#endif
+#define LZO_SIZEOF_CHAR 1
#ifndef LZO_SIZEOF_SHORT
#if defined(SIZEOF_SHORT)
# define LZO_SIZEOF_SHORT (SIZEOF_SHORT)
@@ -2239,12 +2306,12 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long))
# define LZO_WORDSIZE 8
#elif (LZO_ARCH_AMD64)
# define LZO_WORDSIZE 8
+#elif (LZO_ARCH_ARM64)
+# define LZO_WORDSIZE 8
#elif (LZO_ARCH_AVR)
# define LZO_WORDSIZE 1
#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define LZO_WORDSIZE 4
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define LZO_WORDSIZE 4
# else
# define LZO_WORDSIZE 2
@@ -2287,11 +2354,15 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8)
#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
# define LZO_SIZEOF_VOID_P 2
#elif (LZO_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define LZO_SIZEOF_VOID_P 2
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define LZO_SIZEOF_VOID_P 4
+# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4)
+# if defined(__NORMAL_MODE__)
+# define LZO_SIZEOF_VOID_P 2
+# else
+# define LZO_SIZEOF_VOID_P 4
+# endif
# else
+ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2)
# define LZO_SIZEOF_VOID_P 2
# endif
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
@@ -2381,7 +2452,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
# define LZO_ABI_LITTLE_ENDIAN 1
-#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU)
# define LZO_ABI_BIG_ENDIAN 1
@@ -2401,6 +2472,8 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC)
# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
# error "unexpected configuration - check your compiler defines"
@@ -2416,6 +2489,8 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__)
# define LZO_ABI_LITTLE_ENDIAN 1
+#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32)
+# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
@@ -2457,6 +2532,12 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# define LZO_ABI_IP32L64 1
# define LZO_INFO_ABI_PM "ip32l64"
#endif
+#if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8)
+# define LZO_ABI_IP32W64 1
+# ifndef LZO_INFO_ABI_PM
+# define LZO_INFO_ABI_PM "ip32w64"
+# endif
+#endif
#if 0
#elif !defined(__LZO_LIBC_OVERRIDE)
#if (LZO_LIBC_NAKED)
@@ -2559,6 +2640,13 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
+# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
@@ -2573,6 +2661,13 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# ifndef LZO_OPT_UNALIGNED32
# define LZO_OPT_UNALIGNED32 1
# endif
+# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7)
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
# endif
#elif (LZO_ARCH_ARM64)
# ifndef LZO_OPT_UNALIGNED16
@@ -2618,7 +2713,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#elif (LZO_ARCH_POWERPC)
# define LZO_OPT_PREFER_PREINC 1
# define LZO_OPT_PREFER_PREDEC 1
-# if (LZO_ABI_BIG_ENDIAN)
+# if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
# endif
@@ -2631,6 +2726,19 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
# endif
# endif
# endif
+#elif (LZO_ARCH_RISCV)
+# define LZO_OPT_AVOID_UINT_INDEX 1
+# ifndef LZO_OPT_UNALIGNED16
+# define LZO_OPT_UNALIGNED16 1
+# endif
+# ifndef LZO_OPT_UNALIGNED32
+# define LZO_OPT_UNALIGNED32 1
+# endif
+# if (LZO_WORDSIZE == 8)
+# ifndef LZO_OPT_UNALIGNED64
+# define LZO_OPT_UNALIGNED64 1
+# endif
+# endif
#elif (LZO_ARCH_S390)
# ifndef LZO_OPT_UNALIGNED16
# define LZO_OPT_UNALIGNED16 1
@@ -2741,18 +2849,23 @@ LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t))
#define LZO_TYPEOF_CHAR_P 129u
#if !defined(lzo_llong_t)
#if (LZO_SIZEOF_LONG_LONG+0 > 0)
-__lzo_gnuc_extension__ typedef long long lzo_llong_t__;
-__lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# if !(LZO_LANG_ASSEMBLER)
+ __lzo_gnuc_extension__ typedef long long lzo_llong_t__;
+ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
+# endif
# define lzo_llong_t lzo_llong_t__
# define lzo_ullong_t lzo_ullong_t__
#endif
#endif
#if !defined(lzo_int16e_t)
-#if (LZO_SIZEOF_LONG == 2)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T
+#endif
+#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
# define lzo_int16e_t long
# define lzo_uint16e_t unsigned long
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG
-#elif (LZO_SIZEOF_INT == 2)
+#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT)
# define lzo_int16e_t int
# define lzo_uint16e_t unsigned int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT
@@ -2761,8 +2874,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define lzo_uint16e_t unsigned short int
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__)));
typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__)));
+# endif
# define lzo_int16e_t lzo_int16e_hi_t__
# define lzo_uint16e_t lzo_uint16e_hi_t__
# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI
@@ -2779,7 +2894,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T)
#endif
#if !defined(lzo_int32e_t)
-#if (LZO_SIZEOF_LONG == 4)
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T
+#endif
+#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT)
# define lzo_int32e_t long int
# define lzo_uint32e_t unsigned long int
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG
@@ -2796,14 +2914,18 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define lzo_uint32e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI
#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
+# if !(LZO_LANG_ASSEMBLER)
typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__)));
typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__)));
+# endif
# define lzo_int32e_t lzo_int32e_si_t__
# define lzo_uint32e_t lzo_uint32e_si_t__
# define LZO_INT32_C(c) (c##LL)
@@ -2823,19 +2945,25 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
#endif
#if !defined(lzo_int64e_t)
#if (LZO_SIZEOF___INT64 == 8)
-# if (LZO_CC_BORLANDC) && !(LZO_CFG_TYPE_PREFER___INT64)
-# define LZO_CFG_TYPE_PREFER___INT64 1
+# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T)
+# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64
# endif
#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
+#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8)
+# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T
+#endif
#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG)
# define lzo_int64e_t int
# define lzo_uint64e_t unsigned int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT
-#elif (LZO_SIZEOF_LONG == 8)
+#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
# define lzo_int64e_t long int
# define lzo_uint64e_t unsigned long int
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG
-#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_TYPE_PREFER___INT64)
+#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64)
# define lzo_int64e_t lzo_llong_t
# define lzo_uint64e_t lzo_ullong_t
# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG
@@ -2938,15 +3066,19 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
#if !defined(lzo_intptr_t)
#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16))
# define __LZO_INTPTR_T_IS_POINTER 1
+# if !(LZO_LANG_ASSEMBLER)
typedef char * lzo_intptr_t;
typedef char * lzo_uintptr_t;
+# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P
# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P
#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4))
+# if !(LZO_LANG_ASSEMBLER)
typedef __w64 int lzo_intptr_t;
typedef __w64 unsigned int lzo_uintptr_t;
+# endif
# define lzo_intptr_t lzo_intptr_t
# define lzo_uintptr_t lzo_uintptr_t
# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT
@@ -3013,8 +3145,10 @@ __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__;
# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T
#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC)
#if 0
+# if !(LZO_LANG_ASSEMBLER)
typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__)));
typedef int lzo_sword_t __attribute__((__mode__(__V16QI__)));
+# endif
# define lzo_word_t lzo_word_t
# define lzo_sword_t lzo_sword_t
# define LZO_SIZEOF_LZO_WORD_T 16
@@ -3156,7 +3290,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast6
#undef LZO_HAVE_CONFIG_H
#include "minilzo.h"
-#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2090)
+#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x20a0)
# error "version mismatch in miniLZO source files"
#endif
@@ -3194,7 +3328,7 @@ LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast6
#endif
#endif
-#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x2090)
+#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0)
# error "version mismatch"
#endif
@@ -4088,7 +4222,7 @@ static const char lzo_copyright_[] =
#else
"\r\n\n"
"LZO data compression library.\n"
- "$Copyright: LZO Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\n"
+ "$Copyright: LZO Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\n"
"<markus@oberhumer.com>\n"
"http://www.oberhumer.com $\n\n"
"$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
diff --git a/main/lzo/minilzo/minilzo.h b/main/lzo/minilzo/minilzo.h
index e5adc6ed..c1c22975 100644
--- a/main/lzo/minilzo/minilzo.h
+++ b/main/lzo/minilzo/minilzo.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -35,7 +35,7 @@
#ifndef __MINILZO_H_INCLUDED
#define __MINILZO_H_INCLUDED 1
-#define MINILZO_VERSION 0x2090
+#define MINILZO_VERSION 0x20a0 /* 2.10 */
#if defined(__LZOCONF_H_INCLUDED)
# error "you cannot use both LZO and miniLZO"
diff --git a/main/lzo/minilzo/testmini.c b/main/lzo/minilzo/testmini.c
index f6615d72..ca8c3d19 100644
--- a/main/lzo/minilzo/testmini.c
+++ b/main/lzo/minilzo/testmini.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -84,7 +84,7 @@ int main(int argc, char *argv[])
printf("\nLZO real-time data compression library (v%s, %s).\n",
lzo_version_string(), lzo_version_date());
- printf("Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
+ printf("Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\nAll Rights Reserved.\n\n");
/*
diff --git a/main/lzo/src/.deps/lzo1.Plo b/main/lzo/src/.deps/lzo1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1_99.Plo b/main/lzo/src/.deps/lzo1_99.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1_99.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1a.Plo b/main/lzo/src/.deps/lzo1a.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1a.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1a_99.Plo b/main/lzo/src/.deps/lzo1a_99.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1a_99.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_1.Plo b/main/lzo/src/.deps/lzo1b_1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_2.Plo b/main/lzo/src/.deps/lzo1b_2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_3.Plo b/main/lzo/src/.deps/lzo1b_3.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_3.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_4.Plo b/main/lzo/src/.deps/lzo1b_4.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_4.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_5.Plo b/main/lzo/src/.deps/lzo1b_5.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_5.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_6.Plo b/main/lzo/src/.deps/lzo1b_6.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_6.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_7.Plo b/main/lzo/src/.deps/lzo1b_7.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_7.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_8.Plo b/main/lzo/src/.deps/lzo1b_8.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_8.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_9.Plo b/main/lzo/src/.deps/lzo1b_9.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_9.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_99.Plo b/main/lzo/src/.deps/lzo1b_99.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_99.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_9x.Plo b/main/lzo/src/.deps/lzo1b_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_cc.Plo b/main/lzo/src/.deps/lzo1b_cc.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_cc.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_d1.Plo b/main/lzo/src/.deps/lzo1b_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_d2.Plo b/main/lzo/src/.deps/lzo1b_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_rr.Plo b/main/lzo/src/.deps/lzo1b_rr.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_rr.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1b_xx.Plo b/main/lzo/src/.deps/lzo1b_xx.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1b_xx.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_1.Plo b/main/lzo/src/.deps/lzo1c_1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_2.Plo b/main/lzo/src/.deps/lzo1c_2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_3.Plo b/main/lzo/src/.deps/lzo1c_3.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_3.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_4.Plo b/main/lzo/src/.deps/lzo1c_4.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_4.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_5.Plo b/main/lzo/src/.deps/lzo1c_5.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_5.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_6.Plo b/main/lzo/src/.deps/lzo1c_6.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_6.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_7.Plo b/main/lzo/src/.deps/lzo1c_7.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_7.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_8.Plo b/main/lzo/src/.deps/lzo1c_8.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_8.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_9.Plo b/main/lzo/src/.deps/lzo1c_9.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_9.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_99.Plo b/main/lzo/src/.deps/lzo1c_99.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_99.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_9x.Plo b/main/lzo/src/.deps/lzo1c_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_cc.Plo b/main/lzo/src/.deps/lzo1c_cc.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_cc.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_d1.Plo b/main/lzo/src/.deps/lzo1c_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_d2.Plo b/main/lzo/src/.deps/lzo1c_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_rr.Plo b/main/lzo/src/.deps/lzo1c_rr.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_rr.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1c_xx.Plo b/main/lzo/src/.deps/lzo1c_xx.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1c_xx.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1f_1.Plo b/main/lzo/src/.deps/lzo1f_1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1f_1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1f_9x.Plo b/main/lzo/src/.deps/lzo1f_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1f_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1f_d1.Plo b/main/lzo/src/.deps/lzo1f_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1f_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1f_d2.Plo b/main/lzo/src/.deps/lzo1f_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1f_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_1.Plo b/main/lzo/src/.deps/lzo1x_1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_1k.Plo b/main/lzo/src/.deps/lzo1x_1k.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_1k.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_1l.Plo b/main/lzo/src/.deps/lzo1x_1l.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_1l.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_1o.Plo b/main/lzo/src/.deps/lzo1x_1o.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_1o.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_9x.Plo b/main/lzo/src/.deps/lzo1x_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_d1.Plo b/main/lzo/src/.deps/lzo1x_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_d2.Plo b/main/lzo/src/.deps/lzo1x_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_d3.Plo b/main/lzo/src/.deps/lzo1x_d3.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_d3.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1x_o.Plo b/main/lzo/src/.deps/lzo1x_o.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1x_o.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_1.Plo b/main/lzo/src/.deps/lzo1y_1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_9x.Plo b/main/lzo/src/.deps/lzo1y_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_d1.Plo b/main/lzo/src/.deps/lzo1y_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_d2.Plo b/main/lzo/src/.deps/lzo1y_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_d3.Plo b/main/lzo/src/.deps/lzo1y_d3.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_d3.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1y_o.Plo b/main/lzo/src/.deps/lzo1y_o.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1y_o.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1z_9x.Plo b/main/lzo/src/.deps/lzo1z_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1z_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1z_d1.Plo b/main/lzo/src/.deps/lzo1z_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1z_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1z_d2.Plo b/main/lzo/src/.deps/lzo1z_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1z_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo1z_d3.Plo b/main/lzo/src/.deps/lzo1z_d3.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo1z_d3.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo2a_9x.Plo b/main/lzo/src/.deps/lzo2a_9x.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo2a_9x.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo2a_d1.Plo b/main/lzo/src/.deps/lzo2a_d1.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo2a_d1.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo2a_d2.Plo b/main/lzo/src/.deps/lzo2a_d2.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo2a_d2.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo_crc.Plo b/main/lzo/src/.deps/lzo_crc.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo_crc.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo_init.Plo b/main/lzo/src/.deps/lzo_init.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo_init.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo_ptr.Plo b/main/lzo/src/.deps/lzo_ptr.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo_ptr.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo_str.Plo b/main/lzo/src/.deps/lzo_str.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo_str.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/.deps/lzo_util.Plo b/main/lzo/src/.deps/lzo_util.Plo
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/src/.deps/lzo_util.Plo
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/src/Makefile b/main/lzo/src/Makefile
deleted file mode 100644
index 2765207c..00000000
--- a/main/lzo/src/Makefile
+++ /dev/null
@@ -1,600 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# src/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ..
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-subdir = src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 = lzo1c_s1.lo lzo1c_s2.lo \
- lzo1f_f1.lo lzo1f_f2.lo lzo1x_f1.lo \
- lzo1x_f2.lo lzo1x_s1.lo lzo1x_s2.lo \
- lzo1y_f1.lo lzo1y_f2.lo lzo1y_s1.lo \
- lzo1y_s2.lo
-am_liblzo2_la_OBJECTS = lzo_crc.lo lzo_init.lo lzo_ptr.lo lzo_str.lo \
- lzo_util.lo lzo1.lo lzo1_99.lo lzo1a.lo lzo1a_99.lo lzo1b_1.lo \
- lzo1b_2.lo lzo1b_3.lo lzo1b_4.lo lzo1b_5.lo lzo1b_6.lo \
- lzo1b_7.lo lzo1b_8.lo lzo1b_9.lo lzo1b_99.lo lzo1b_9x.lo \
- lzo1b_cc.lo lzo1b_d1.lo lzo1b_d2.lo lzo1b_rr.lo lzo1b_xx.lo \
- lzo1c_1.lo lzo1c_2.lo lzo1c_3.lo lzo1c_4.lo lzo1c_5.lo \
- lzo1c_6.lo lzo1c_7.lo lzo1c_8.lo lzo1c_9.lo lzo1c_99.lo \
- lzo1c_9x.lo lzo1c_cc.lo lzo1c_d1.lo lzo1c_d2.lo lzo1c_rr.lo \
- lzo1c_xx.lo lzo1f_1.lo lzo1f_9x.lo lzo1f_d1.lo lzo1f_d2.lo \
- lzo1x_1.lo lzo1x_9x.lo lzo1x_d1.lo lzo1x_d2.lo lzo1x_d3.lo \
- lzo1x_o.lo lzo1x_1k.lo lzo1x_1l.lo lzo1x_1o.lo lzo1y_1.lo \
- lzo1y_9x.lo lzo1y_d1.lo lzo1y_d2.lo lzo1y_d3.lo lzo1y_o.lo \
- lzo1z_9x.lo lzo1z_d1.lo lzo1z_d2.lo lzo1z_d3.lo lzo2a_9x.lo \
- lzo2a_d1.lo lzo2a_d2.lo
-liblzo2_la_OBJECTS = $(am_liblzo2_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(liblzo2_la_SOURCES)
-DIST_SOURCES = $(liblzo2_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
-CPP = gcc -E
-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-SUFFIXES = .S
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-lib_LTLIBRARIES = liblzo2.la
-liblzo2_la_LDFLAGS = -version-info 2:0:0
-liblzo2_la_SOURCES = \
- lzo_crc.c lzo_init.c lzo_ptr.c lzo_str.c lzo_util.c \
- lzo1.c lzo1_99.c \
- lzo1a.c lzo1a_99.c \
- lzo1b_1.c lzo1b_2.c lzo1b_3.c lzo1b_4.c lzo1b_5.c lzo1b_6.c \
- lzo1b_7.c lzo1b_8.c lzo1b_9.c lzo1b_99.c lzo1b_9x.c \
- lzo1b_cc.c lzo1b_d1.c lzo1b_d2.c lzo1b_rr.c lzo1b_xx.c \
- lzo1c_1.c lzo1c_2.c lzo1c_3.c lzo1c_4.c lzo1c_5.c lzo1c_6.c \
- lzo1c_7.c lzo1c_8.c lzo1c_9.c lzo1c_99.c lzo1c_9x.c \
- lzo1c_cc.c lzo1c_d1.c lzo1c_d2.c lzo1c_rr.c lzo1c_xx.c \
- lzo1f_1.c lzo1f_9x.c lzo1f_d1.c lzo1f_d2.c \
- lzo1x_1.c lzo1x_9x.c lzo1x_d1.c lzo1x_d2.c lzo1x_d3.c \
- lzo1x_o.c lzo1x_1k.c lzo1x_1l.c lzo1x_1o.c \
- lzo1y_1.c lzo1y_9x.c lzo1y_d1.c lzo1y_d2.c lzo1y_d3.c lzo1y_o.c \
- lzo1z_9x.c lzo1z_d1.c lzo1z_d2.c lzo1z_d3.c \
- lzo2a_9x.c lzo2a_d1.c lzo2a_d2.c
-
-EXTRA_DIST = \
- lzo1_cm.ch lzo1_d.ch lzo1a_cm.ch lzo1a_cr.ch lzo1b_c.ch \
- lzo1b_cm.ch lzo1b_cr.ch lzo1b_d.ch lzo1b_r.ch \
- lzo1b_sm.ch lzo1b_tm.ch lzo1f_d.ch lzo1x_c.ch \
- lzo1x_d.ch lzo1x_oo.ch lzo2a_d.ch \
- lzo_dll.ch lzo_mchw.ch lzo_swd.ch \
- compr1b.h compr1c.h config1.h config1a.h config1b.h config1c.h \
- config1f.h config1x.h config1y.h config1z.h config2a.h \
- lzo1a_de.h lzo1b_cc.h lzo1b_de.h lzo1c_cc.h lzo_conf.h lzo_dict.h \
- lzo_ptr.h stats1a.h stats1b.h stats1c.h miniacc.h
-
-liblzo2_la_LIBADD = $(LZO_ASM_OBJECTS)
-liblzo2_la_DEPENDENCIES = $(liblzo2_la_LIBADD)
-
-# /***********************************************************************
-# // assembler support
-# ************************************************************************/
-LZO_ASM_OBJECTS = \
- lzo1c_s1.lo lzo1c_s2.lo \
- lzo1f_f1.lo lzo1f_f2.lo \
- lzo1x_f1.lo lzo1x_f2.lo lzo1x_s1.lo lzo1x_s2.lo \
- lzo1y_f1.lo lzo1y_f2.lo lzo1y_s1.lo lzo1y_s2.lo
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-liblzo2.la: $(liblzo2_la_OBJECTS) $(liblzo2_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(liblzo2_la_LDFLAGS) $(liblzo2_la_OBJECTS) $(liblzo2_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/lzo1.Plo
-include ./$(DEPDIR)/lzo1_99.Plo
-include ./$(DEPDIR)/lzo1a.Plo
-include ./$(DEPDIR)/lzo1a_99.Plo
-include ./$(DEPDIR)/lzo1b_1.Plo
-include ./$(DEPDIR)/lzo1b_2.Plo
-include ./$(DEPDIR)/lzo1b_3.Plo
-include ./$(DEPDIR)/lzo1b_4.Plo
-include ./$(DEPDIR)/lzo1b_5.Plo
-include ./$(DEPDIR)/lzo1b_6.Plo
-include ./$(DEPDIR)/lzo1b_7.Plo
-include ./$(DEPDIR)/lzo1b_8.Plo
-include ./$(DEPDIR)/lzo1b_9.Plo
-include ./$(DEPDIR)/lzo1b_99.Plo
-include ./$(DEPDIR)/lzo1b_9x.Plo
-include ./$(DEPDIR)/lzo1b_cc.Plo
-include ./$(DEPDIR)/lzo1b_d1.Plo
-include ./$(DEPDIR)/lzo1b_d2.Plo
-include ./$(DEPDIR)/lzo1b_rr.Plo
-include ./$(DEPDIR)/lzo1b_xx.Plo
-include ./$(DEPDIR)/lzo1c_1.Plo
-include ./$(DEPDIR)/lzo1c_2.Plo
-include ./$(DEPDIR)/lzo1c_3.Plo
-include ./$(DEPDIR)/lzo1c_4.Plo
-include ./$(DEPDIR)/lzo1c_5.Plo
-include ./$(DEPDIR)/lzo1c_6.Plo
-include ./$(DEPDIR)/lzo1c_7.Plo
-include ./$(DEPDIR)/lzo1c_8.Plo
-include ./$(DEPDIR)/lzo1c_9.Plo
-include ./$(DEPDIR)/lzo1c_99.Plo
-include ./$(DEPDIR)/lzo1c_9x.Plo
-include ./$(DEPDIR)/lzo1c_cc.Plo
-include ./$(DEPDIR)/lzo1c_d1.Plo
-include ./$(DEPDIR)/lzo1c_d2.Plo
-include ./$(DEPDIR)/lzo1c_rr.Plo
-include ./$(DEPDIR)/lzo1c_xx.Plo
-include ./$(DEPDIR)/lzo1f_1.Plo
-include ./$(DEPDIR)/lzo1f_9x.Plo
-include ./$(DEPDIR)/lzo1f_d1.Plo
-include ./$(DEPDIR)/lzo1f_d2.Plo
-include ./$(DEPDIR)/lzo1x_1.Plo
-include ./$(DEPDIR)/lzo1x_1k.Plo
-include ./$(DEPDIR)/lzo1x_1l.Plo
-include ./$(DEPDIR)/lzo1x_1o.Plo
-include ./$(DEPDIR)/lzo1x_9x.Plo
-include ./$(DEPDIR)/lzo1x_d1.Plo
-include ./$(DEPDIR)/lzo1x_d2.Plo
-include ./$(DEPDIR)/lzo1x_d3.Plo
-include ./$(DEPDIR)/lzo1x_o.Plo
-include ./$(DEPDIR)/lzo1y_1.Plo
-include ./$(DEPDIR)/lzo1y_9x.Plo
-include ./$(DEPDIR)/lzo1y_d1.Plo
-include ./$(DEPDIR)/lzo1y_d2.Plo
-include ./$(DEPDIR)/lzo1y_d3.Plo
-include ./$(DEPDIR)/lzo1y_o.Plo
-include ./$(DEPDIR)/lzo1z_9x.Plo
-include ./$(DEPDIR)/lzo1z_d1.Plo
-include ./$(DEPDIR)/lzo1z_d2.Plo
-include ./$(DEPDIR)/lzo1z_d3.Plo
-include ./$(DEPDIR)/lzo2a_9x.Plo
-include ./$(DEPDIR)/lzo2a_d1.Plo
-include ./$(DEPDIR)/lzo2a_d2.Plo
-include ./$(DEPDIR)/lzo_crc.Plo
-include ./$(DEPDIR)/lzo_init.Plo
-include ./$(DEPDIR)/lzo_ptr.Plo
-include ./$(DEPDIR)/lzo_str.Plo
-include ./$(DEPDIR)/lzo_util.Plo
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am \
- install-libLTLIBRARIES install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES
-
-
-.S.o:
- $(CC) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $<
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/src/Makefile.am b/main/lzo/src/Makefile.am
deleted file mode 100644
index e5f6ca01..00000000
--- a/main/lzo/src/Makefile.am
+++ /dev/null
@@ -1,68 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-VPATH = @srcdir@@LZO_ASM_VPATH@
-SUFFIXES = .S
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
-
-lib_LTLIBRARIES = liblzo2.la
-
-liblzo2_la_LDFLAGS = -version-info 2:0:0
-
-liblzo2_la_SOURCES = \
- lzo_crc.c lzo_init.c lzo_ptr.c lzo_str.c lzo_util.c \
- lzo1.c lzo1_99.c \
- lzo1a.c lzo1a_99.c \
- lzo1b_1.c lzo1b_2.c lzo1b_3.c lzo1b_4.c lzo1b_5.c lzo1b_6.c \
- lzo1b_7.c lzo1b_8.c lzo1b_9.c lzo1b_99.c lzo1b_9x.c \
- lzo1b_cc.c lzo1b_d1.c lzo1b_d2.c lzo1b_rr.c lzo1b_xx.c \
- lzo1c_1.c lzo1c_2.c lzo1c_3.c lzo1c_4.c lzo1c_5.c lzo1c_6.c \
- lzo1c_7.c lzo1c_8.c lzo1c_9.c lzo1c_99.c lzo1c_9x.c \
- lzo1c_cc.c lzo1c_d1.c lzo1c_d2.c lzo1c_rr.c lzo1c_xx.c \
- lzo1f_1.c lzo1f_9x.c lzo1f_d1.c lzo1f_d2.c \
- lzo1x_1.c lzo1x_9x.c lzo1x_d1.c lzo1x_d2.c lzo1x_d3.c \
- lzo1x_o.c lzo1x_1k.c lzo1x_1l.c lzo1x_1o.c \
- lzo1y_1.c lzo1y_9x.c lzo1y_d1.c lzo1y_d2.c lzo1y_d3.c lzo1y_o.c \
- lzo1z_9x.c lzo1z_d1.c lzo1z_d2.c lzo1z_d3.c \
- lzo2a_9x.c lzo2a_d1.c lzo2a_d2.c
-
-EXTRA_DIST = \
- lzo1_cm.ch lzo1_d.ch lzo1a_cm.ch lzo1a_cr.ch lzo1b_c.ch \
- lzo1b_cm.ch lzo1b_cr.ch lzo1b_d.ch lzo1b_r.ch \
- lzo1b_sm.ch lzo1b_tm.ch lzo1f_d.ch lzo1x_c.ch \
- lzo1x_d.ch lzo1x_oo.ch lzo2a_d.ch \
- lzo_dll.ch lzo_mchw.ch lzo_swd.ch \
- compr1b.h compr1c.h config1.h config1a.h config1b.h config1c.h \
- config1f.h config1x.h config1y.h config1z.h config2a.h \
- lzo1a_de.h lzo1b_cc.h lzo1b_de.h lzo1c_cc.h lzo_conf.h lzo_dict.h \
- lzo_ptr.h stats1a.h stats1b.h stats1c.h miniacc.h
-
-liblzo2_la_LIBADD = $(LZO_ASM_OBJECTS)
-liblzo2_la_DEPENDENCIES = $(liblzo2_la_LIBADD)
-
-
-# /***********************************************************************
-# // assembler support
-# ************************************************************************/
-
-if LZO_USE_ASM
-
-LZO_ASM_OBJECTS = \
- lzo1c_s1.lo lzo1c_s2.lo \
- lzo1f_f1.lo lzo1f_f2.lo \
- lzo1x_f1.lo lzo1x_f2.lo lzo1x_s1.lo lzo1x_s2.lo \
- lzo1y_f1.lo lzo1y_f2.lo lzo1y_s1.lo lzo1y_s2.lo
-
-.S.o:
- $(CC) -c $<
-
-.S.lo:
- $(LIBTOOL) --mode=compile $(CC) -c $<
-
-endif
-
diff --git a/main/lzo/src/Makefile.in b/main/lzo/src/Makefile.in
deleted file mode 100644
index 90cf4e22..00000000
--- a/main/lzo/src/Makefile.in
+++ /dev/null
@@ -1,600 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-@LZO_USE_ASM_TRUE@am__DEPENDENCIES_1 = lzo1c_s1.lo lzo1c_s2.lo \
-@LZO_USE_ASM_TRUE@ lzo1f_f1.lo lzo1f_f2.lo lzo1x_f1.lo \
-@LZO_USE_ASM_TRUE@ lzo1x_f2.lo lzo1x_s1.lo lzo1x_s2.lo \
-@LZO_USE_ASM_TRUE@ lzo1y_f1.lo lzo1y_f2.lo lzo1y_s1.lo \
-@LZO_USE_ASM_TRUE@ lzo1y_s2.lo
-am_liblzo2_la_OBJECTS = lzo_crc.lo lzo_init.lo lzo_ptr.lo lzo_str.lo \
- lzo_util.lo lzo1.lo lzo1_99.lo lzo1a.lo lzo1a_99.lo lzo1b_1.lo \
- lzo1b_2.lo lzo1b_3.lo lzo1b_4.lo lzo1b_5.lo lzo1b_6.lo \
- lzo1b_7.lo lzo1b_8.lo lzo1b_9.lo lzo1b_99.lo lzo1b_9x.lo \
- lzo1b_cc.lo lzo1b_d1.lo lzo1b_d2.lo lzo1b_rr.lo lzo1b_xx.lo \
- lzo1c_1.lo lzo1c_2.lo lzo1c_3.lo lzo1c_4.lo lzo1c_5.lo \
- lzo1c_6.lo lzo1c_7.lo lzo1c_8.lo lzo1c_9.lo lzo1c_99.lo \
- lzo1c_9x.lo lzo1c_cc.lo lzo1c_d1.lo lzo1c_d2.lo lzo1c_rr.lo \
- lzo1c_xx.lo lzo1f_1.lo lzo1f_9x.lo lzo1f_d1.lo lzo1f_d2.lo \
- lzo1x_1.lo lzo1x_9x.lo lzo1x_d1.lo lzo1x_d2.lo lzo1x_d3.lo \
- lzo1x_o.lo lzo1x_1k.lo lzo1x_1l.lo lzo1x_1o.lo lzo1y_1.lo \
- lzo1y_9x.lo lzo1y_d1.lo lzo1y_d2.lo lzo1y_d3.lo lzo1y_o.lo \
- lzo1z_9x.lo lzo1z_d1.lo lzo1z_d2.lo lzo1z_d3.lo lzo2a_9x.lo \
- lzo2a_d1.lo lzo2a_d2.lo
-liblzo2_la_OBJECTS = $(am_liblzo2_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(liblzo2_la_SOURCES)
-DIST_SOURCES = $(liblzo2_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-VPATH = @srcdir@@LZO_ASM_VPATH@
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
-CPP = @CPP@
-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-SUFFIXES = .S
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-lib_LTLIBRARIES = liblzo2.la
-liblzo2_la_LDFLAGS = -version-info 2:0:0
-liblzo2_la_SOURCES = \
- lzo_crc.c lzo_init.c lzo_ptr.c lzo_str.c lzo_util.c \
- lzo1.c lzo1_99.c \
- lzo1a.c lzo1a_99.c \
- lzo1b_1.c lzo1b_2.c lzo1b_3.c lzo1b_4.c lzo1b_5.c lzo1b_6.c \
- lzo1b_7.c lzo1b_8.c lzo1b_9.c lzo1b_99.c lzo1b_9x.c \
- lzo1b_cc.c lzo1b_d1.c lzo1b_d2.c lzo1b_rr.c lzo1b_xx.c \
- lzo1c_1.c lzo1c_2.c lzo1c_3.c lzo1c_4.c lzo1c_5.c lzo1c_6.c \
- lzo1c_7.c lzo1c_8.c lzo1c_9.c lzo1c_99.c lzo1c_9x.c \
- lzo1c_cc.c lzo1c_d1.c lzo1c_d2.c lzo1c_rr.c lzo1c_xx.c \
- lzo1f_1.c lzo1f_9x.c lzo1f_d1.c lzo1f_d2.c \
- lzo1x_1.c lzo1x_9x.c lzo1x_d1.c lzo1x_d2.c lzo1x_d3.c \
- lzo1x_o.c lzo1x_1k.c lzo1x_1l.c lzo1x_1o.c \
- lzo1y_1.c lzo1y_9x.c lzo1y_d1.c lzo1y_d2.c lzo1y_d3.c lzo1y_o.c \
- lzo1z_9x.c lzo1z_d1.c lzo1z_d2.c lzo1z_d3.c \
- lzo2a_9x.c lzo2a_d1.c lzo2a_d2.c
-
-EXTRA_DIST = \
- lzo1_cm.ch lzo1_d.ch lzo1a_cm.ch lzo1a_cr.ch lzo1b_c.ch \
- lzo1b_cm.ch lzo1b_cr.ch lzo1b_d.ch lzo1b_r.ch \
- lzo1b_sm.ch lzo1b_tm.ch lzo1f_d.ch lzo1x_c.ch \
- lzo1x_d.ch lzo1x_oo.ch lzo2a_d.ch \
- lzo_dll.ch lzo_mchw.ch lzo_swd.ch \
- compr1b.h compr1c.h config1.h config1a.h config1b.h config1c.h \
- config1f.h config1x.h config1y.h config1z.h config2a.h \
- lzo1a_de.h lzo1b_cc.h lzo1b_de.h lzo1c_cc.h lzo_conf.h lzo_dict.h \
- lzo_ptr.h stats1a.h stats1b.h stats1c.h miniacc.h
-
-liblzo2_la_LIBADD = $(LZO_ASM_OBJECTS)
-liblzo2_la_DEPENDENCIES = $(liblzo2_la_LIBADD)
-
-# /***********************************************************************
-# // assembler support
-# ************************************************************************/
-@LZO_USE_ASM_TRUE@LZO_ASM_OBJECTS = \
-@LZO_USE_ASM_TRUE@ lzo1c_s1.lo lzo1c_s2.lo \
-@LZO_USE_ASM_TRUE@ lzo1f_f1.lo lzo1f_f2.lo \
-@LZO_USE_ASM_TRUE@ lzo1x_f1.lo lzo1x_f2.lo lzo1x_s1.lo lzo1x_s2.lo \
-@LZO_USE_ASM_TRUE@ lzo1y_f1.lo lzo1y_f2.lo lzo1y_s1.lo lzo1y_s2.lo
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-liblzo2.la: $(liblzo2_la_OBJECTS) $(liblzo2_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(liblzo2_la_LDFLAGS) $(liblzo2_la_OBJECTS) $(liblzo2_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1_99.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1a.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1a_99.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_6.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_7.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_99.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_cc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_rr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1b_xx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_5.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_6.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_7.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_8.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_9.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_99.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_cc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_rr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1c_xx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1f_1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1f_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1f_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1f_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_1k.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_1l.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_1o.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_d3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1x_o.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_d3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1y_o.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1z_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1z_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1z_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo1z_d3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo2a_9x.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo2a_d1.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo2a_d2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo_crc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo_init.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo_ptr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo_str.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzo_util.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am \
- install-libLTLIBRARIES install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES
-
-
-@LZO_USE_ASM_TRUE@.S.o:
-@LZO_USE_ASM_TRUE@ $(CC) -c $<
-
-@LZO_USE_ASM_TRUE@.S.lo:
-@LZO_USE_ASM_TRUE@ $(LIBTOOL) --mode=compile $(CC) -c $<
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/src/compr1b.h b/main/lzo/src/compr1b.h
index 8c23fe85..521c9f95 100644
--- a/main/lzo/src/compr1b.h
+++ b/main/lzo/src/compr1b.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/compr1c.h b/main/lzo/src/compr1c.h
index b5e8fb36..984ef7d6 100644
--- a/main/lzo/src/compr1c.h
+++ b/main/lzo/src/compr1c.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1.h b/main/lzo/src/config1.h
index 99dd3610..e67b6006 100644
--- a/main/lzo/src/config1.h
+++ b/main/lzo/src/config1.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1a.h b/main/lzo/src/config1a.h
index c3164473..c5652353 100644
--- a/main/lzo/src/config1a.h
+++ b/main/lzo/src/config1a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1b.h b/main/lzo/src/config1b.h
index 5b4e64aa..ee50c1fa 100644
--- a/main/lzo/src/config1b.h
+++ b/main/lzo/src/config1b.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1c.h b/main/lzo/src/config1c.h
index 7a888d95..988bc49e 100644
--- a/main/lzo/src/config1c.h
+++ b/main/lzo/src/config1c.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1f.h b/main/lzo/src/config1f.h
index d6ca61d9..1a0fa032 100644
--- a/main/lzo/src/config1f.h
+++ b/main/lzo/src/config1f.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1x.h b/main/lzo/src/config1x.h
index 72ced781..f3c93efb 100644
--- a/main/lzo/src/config1x.h
+++ b/main/lzo/src/config1x.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1y.h b/main/lzo/src/config1y.h
index 33869757..56fcfb0d 100644
--- a/main/lzo/src/config1y.h
+++ b/main/lzo/src/config1y.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config1z.h b/main/lzo/src/config1z.h
index e2f7a21c..75ebb0a1 100644
--- a/main/lzo/src/config1z.h
+++ b/main/lzo/src/config1z.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/config2a.h b/main/lzo/src/config2a.h
index 17c8281d..4a4014b2 100644
--- a/main/lzo/src/config2a.h
+++ b/main/lzo/src/config2a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1.c b/main/lzo/src/lzo1.c
index 96c159ed..63bbc59b 100644
--- a/main/lzo/src/lzo1.c
+++ b/main/lzo/src/lzo1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -504,8 +504,8 @@ match:
assert(end < in_end);
}
- while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ while (ip < end && *m_pos == *ip)
+ { m_pos++; ip++; }
assert(ip <= in_end);
/* 2b) code the long match */
diff --git a/main/lzo/src/lzo1_99.c b/main/lzo/src/lzo1_99.c
index 506add27..8e1b37f9 100644
--- a/main/lzo/src/lzo1_99.c
+++ b/main/lzo/src/lzo1_99.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1_cm.ch b/main/lzo/src/lzo1_cm.ch
index bfb19191..5f2ca089 100644
--- a/main/lzo/src/lzo1_cm.ch
+++ b/main/lzo/src/lzo1_cm.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1_d.ch b/main/lzo/src/lzo1_d.ch
index 2e15a4a5..bedc7ce8 100644
--- a/main/lzo/src/lzo1_d.ch
+++ b/main/lzo/src/lzo1_d.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1a.c b/main/lzo/src/lzo1a.c
index 1af4dba1..6bffa307 100644
--- a/main/lzo/src/lzo1a.c
+++ b/main/lzo/src/lzo1a.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -494,8 +494,8 @@ match:
assert(end < in_end);
}
- while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ while (ip < end && *m_pos == *ip)
+ { m_pos++; ip++; }
assert(ip <= in_end);
/* 2a) compute match parameters */
diff --git a/main/lzo/src/lzo1a_99.c b/main/lzo/src/lzo1a_99.c
index 75579d4f..1628c92e 100644
--- a/main/lzo/src/lzo1a_99.c
+++ b/main/lzo/src/lzo1a_99.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1a_cm.ch b/main/lzo/src/lzo1a_cm.ch
index 1b36e3c1..01a957bc 100644
--- a/main/lzo/src/lzo1a_cm.ch
+++ b/main/lzo/src/lzo1a_cm.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -153,8 +153,8 @@
assert(end < in_end);
}
- while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ while (ip < end && *m_pos == *ip)
+ { m_pos++; ip++; }
assert(ip <= in_end);
/* 2a) compute match parameters */
diff --git a/main/lzo/src/lzo1a_cr.ch b/main/lzo/src/lzo1a_cr.ch
index eef584b8..1071fa2b 100644
--- a/main/lzo/src/lzo1a_cr.ch
+++ b/main/lzo/src/lzo1a_cr.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1a_de.h b/main/lzo/src/lzo1a_de.h
index aaa01377..043c1184 100644
--- a/main/lzo/src/lzo1a_de.h
+++ b/main/lzo/src/lzo1a_de.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_1.c b/main/lzo/src/lzo1b_1.c
index 101adba9..5241125b 100644
--- a/main/lzo/src/lzo1b_1.c
+++ b/main/lzo/src/lzo1b_1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_2.c b/main/lzo/src/lzo1b_2.c
index 933bebb1..764b0a52 100644
--- a/main/lzo/src/lzo1b_2.c
+++ b/main/lzo/src/lzo1b_2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_3.c b/main/lzo/src/lzo1b_3.c
index 0d070eaf..a2b9f2ed 100644
--- a/main/lzo/src/lzo1b_3.c
+++ b/main/lzo/src/lzo1b_3.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_4.c b/main/lzo/src/lzo1b_4.c
index 17be356d..722c82a7 100644
--- a/main/lzo/src/lzo1b_4.c
+++ b/main/lzo/src/lzo1b_4.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_5.c b/main/lzo/src/lzo1b_5.c
index 920dbf1a..b8bd8d5b 100644
--- a/main/lzo/src/lzo1b_5.c
+++ b/main/lzo/src/lzo1b_5.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_6.c b/main/lzo/src/lzo1b_6.c
index 114aadd4..0226fc85 100644
--- a/main/lzo/src/lzo1b_6.c
+++ b/main/lzo/src/lzo1b_6.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_7.c b/main/lzo/src/lzo1b_7.c
index 9f5e6d79..bfb8d726 100644
--- a/main/lzo/src/lzo1b_7.c
+++ b/main/lzo/src/lzo1b_7.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_8.c b/main/lzo/src/lzo1b_8.c
index 94d20427..d7736c37 100644
--- a/main/lzo/src/lzo1b_8.c
+++ b/main/lzo/src/lzo1b_8.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_9.c b/main/lzo/src/lzo1b_9.c
index 2d0532d2..ebe70d52 100644
--- a/main/lzo/src/lzo1b_9.c
+++ b/main/lzo/src/lzo1b_9.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_99.c b/main/lzo/src/lzo1b_99.c
index 570f2b08..8a667cbc 100644
--- a/main/lzo/src/lzo1b_99.c
+++ b/main/lzo/src/lzo1b_99.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_9x.c b/main/lzo/src/lzo1b_9x.c
index 285caad1..c19b4366 100644
--- a/main/lzo/src/lzo1b_9x.c
+++ b/main/lzo/src/lzo1b_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_c.ch b/main/lzo/src/lzo1b_c.ch
index f13a8124..cd140499 100644
--- a/main/lzo/src/lzo1b_c.ch
+++ b/main/lzo/src/lzo1b_c.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_cc.c b/main/lzo/src/lzo1b_cc.c
index c3318ce7..dfad7e2d 100644
--- a/main/lzo/src/lzo1b_cc.c
+++ b/main/lzo/src/lzo1b_cc.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_cc.h b/main/lzo/src/lzo1b_cc.h
index 403025fd..02a6d290 100644
--- a/main/lzo/src/lzo1b_cc.h
+++ b/main/lzo/src/lzo1b_cc.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_cm.ch b/main/lzo/src/lzo1b_cm.ch
index ccfa869f..c38b1387 100644
--- a/main/lzo/src/lzo1b_cm.ch
+++ b/main/lzo/src/lzo1b_cm.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -176,8 +176,8 @@
{
const lzo_bytep end;
end = in_end;
- while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ while (ip < end && *m_pos == *ip)
+ { m_pos++; ip++; }
assert(ip <= in_end);
m_len = pd(ip, ii);
}
diff --git a/main/lzo/src/lzo1b_cr.ch b/main/lzo/src/lzo1b_cr.ch
index 844ce94c..bb3a9b9d 100644
--- a/main/lzo/src/lzo1b_cr.ch
+++ b/main/lzo/src/lzo1b_cr.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_d.ch b/main/lzo/src/lzo1b_d.ch
index 4fe164f7..51e36849 100644
--- a/main/lzo/src/lzo1b_d.ch
+++ b/main/lzo/src/lzo1b_d.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_d1.c b/main/lzo/src/lzo1b_d1.c
index 190eaa2f..04c075ac 100644
--- a/main/lzo/src/lzo1b_d1.c
+++ b/main/lzo/src/lzo1b_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_d2.c b/main/lzo/src/lzo1b_d2.c
index 98a2704a..a741c54b 100644
--- a/main/lzo/src/lzo1b_d2.c
+++ b/main/lzo/src/lzo1b_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_de.h b/main/lzo/src/lzo1b_de.h
index cf5abe9d..50c337dc 100644
--- a/main/lzo/src/lzo1b_de.h
+++ b/main/lzo/src/lzo1b_de.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_r.ch b/main/lzo/src/lzo1b_r.ch
index 827a67de..28fc137c 100644
--- a/main/lzo/src/lzo1b_r.ch
+++ b/main/lzo/src/lzo1b_r.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_rr.c b/main/lzo/src/lzo1b_rr.c
index c91bbeca..b4f4f4f6 100644
--- a/main/lzo/src/lzo1b_rr.c
+++ b/main/lzo/src/lzo1b_rr.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_sm.ch b/main/lzo/src/lzo1b_sm.ch
index 06a83e29..8e3f7c47 100644
--- a/main/lzo/src/lzo1b_sm.ch
+++ b/main/lzo/src/lzo1b_sm.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -129,8 +129,8 @@
{
const lzo_bytep end;
end = MATCH_IP_END;
- while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ while (ip < end && *m_pos == *ip)
+ { m_pos++; ip++; }
assert(ip <= in_end);
x_len = pd(ip, ip_sav);
}
diff --git a/main/lzo/src/lzo1b_tm.ch b/main/lzo/src/lzo1b_tm.ch
index a2da025d..98ac2c84 100644
--- a/main/lzo/src/lzo1b_tm.ch
+++ b/main/lzo/src/lzo1b_tm.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1b_xx.c b/main/lzo/src/lzo1b_xx.c
index 56f30066..ba7ab877 100644
--- a/main/lzo/src/lzo1b_xx.c
+++ b/main/lzo/src/lzo1b_xx.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_1.c b/main/lzo/src/lzo1c_1.c
index 28c3f0c2..57d92c2e 100644
--- a/main/lzo/src/lzo1c_1.c
+++ b/main/lzo/src/lzo1c_1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_2.c b/main/lzo/src/lzo1c_2.c
index fa09d31a..2e4a1c95 100644
--- a/main/lzo/src/lzo1c_2.c
+++ b/main/lzo/src/lzo1c_2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_3.c b/main/lzo/src/lzo1c_3.c
index c8faa165..15710a74 100644
--- a/main/lzo/src/lzo1c_3.c
+++ b/main/lzo/src/lzo1c_3.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_4.c b/main/lzo/src/lzo1c_4.c
index ca772d93..3ba6bcf6 100644
--- a/main/lzo/src/lzo1c_4.c
+++ b/main/lzo/src/lzo1c_4.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_5.c b/main/lzo/src/lzo1c_5.c
index 7e8c546b..d43537c3 100644
--- a/main/lzo/src/lzo1c_5.c
+++ b/main/lzo/src/lzo1c_5.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_6.c b/main/lzo/src/lzo1c_6.c
index 632b8c0f..2afb6fd1 100644
--- a/main/lzo/src/lzo1c_6.c
+++ b/main/lzo/src/lzo1c_6.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_7.c b/main/lzo/src/lzo1c_7.c
index ad8a6abb..d50c9067 100644
--- a/main/lzo/src/lzo1c_7.c
+++ b/main/lzo/src/lzo1c_7.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_8.c b/main/lzo/src/lzo1c_8.c
index abb2b497..8ae847a7 100644
--- a/main/lzo/src/lzo1c_8.c
+++ b/main/lzo/src/lzo1c_8.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_9.c b/main/lzo/src/lzo1c_9.c
index abbd0a1f..ecc721c0 100644
--- a/main/lzo/src/lzo1c_9.c
+++ b/main/lzo/src/lzo1c_9.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_99.c b/main/lzo/src/lzo1c_99.c
index c583e83f..c81ecd10 100644
--- a/main/lzo/src/lzo1c_99.c
+++ b/main/lzo/src/lzo1c_99.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_9x.c b/main/lzo/src/lzo1c_9x.c
index cbc4e514..c4ea914d 100644
--- a/main/lzo/src/lzo1c_9x.c
+++ b/main/lzo/src/lzo1c_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_cc.c b/main/lzo/src/lzo1c_cc.c
index f7044250..952df26a 100644
--- a/main/lzo/src/lzo1c_cc.c
+++ b/main/lzo/src/lzo1c_cc.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_cc.h b/main/lzo/src/lzo1c_cc.h
index f8b7d830..86a5def7 100644
--- a/main/lzo/src/lzo1c_cc.h
+++ b/main/lzo/src/lzo1c_cc.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_d1.c b/main/lzo/src/lzo1c_d1.c
index e3fec206..25283aca 100644
--- a/main/lzo/src/lzo1c_d1.c
+++ b/main/lzo/src/lzo1c_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_d2.c b/main/lzo/src/lzo1c_d2.c
index fa83cdda..526d5e78 100644
--- a/main/lzo/src/lzo1c_d2.c
+++ b/main/lzo/src/lzo1c_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_rr.c b/main/lzo/src/lzo1c_rr.c
index 7851fa43..5c7c9875 100644
--- a/main/lzo/src/lzo1c_rr.c
+++ b/main/lzo/src/lzo1c_rr.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1c_xx.c b/main/lzo/src/lzo1c_xx.c
index 8b46509d..fb8d304d 100644
--- a/main/lzo/src/lzo1c_xx.c
+++ b/main/lzo/src/lzo1c_xx.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1f_1.c b/main/lzo/src/lzo1f_1.c
index 44a138c8..c201383b 100644
--- a/main/lzo/src/lzo1f_1.c
+++ b/main/lzo/src/lzo1f_1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -200,7 +200,7 @@ match:
const lzo_bytep end;
end = in_end;
while (ip < end && *m_pos == *ip)
- m_pos++, ip++;
+ { m_pos++; ip++; }
m_len = pd(ip, ii);
}
assert(m_len >= 3);
diff --git a/main/lzo/src/lzo1f_9x.c b/main/lzo/src/lzo1f_9x.c
index 353aca0a..927cdd5b 100644
--- a/main/lzo/src/lzo1f_9x.c
+++ b/main/lzo/src/lzo1f_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1f_d.ch b/main/lzo/src/lzo1f_d.ch
index c5093c19..e86027b8 100644
--- a/main/lzo/src/lzo1f_d.ch
+++ b/main/lzo/src/lzo1f_d.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1f_d1.c b/main/lzo/src/lzo1f_d1.c
index 278fb680..b6931a00 100644
--- a/main/lzo/src/lzo1f_d1.c
+++ b/main/lzo/src/lzo1f_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1f_d2.c b/main/lzo/src/lzo1f_d2.c
index f98f8556..160d2cea 100644
--- a/main/lzo/src/lzo1f_d2.c
+++ b/main/lzo/src/lzo1f_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_1.c b/main/lzo/src/lzo1x_1.c
index 2c6cb46d..a659393f 100644
--- a/main/lzo/src/lzo1x_1.c
+++ b/main/lzo/src/lzo1x_1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_1k.c b/main/lzo/src/lzo1x_1k.c
index 74291c0e..4ae6eda4 100644
--- a/main/lzo/src/lzo1x_1k.c
+++ b/main/lzo/src/lzo1x_1k.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_1l.c b/main/lzo/src/lzo1x_1l.c
index 6fa81fd7..90b42e1b 100644
--- a/main/lzo/src/lzo1x_1l.c
+++ b/main/lzo/src/lzo1x_1l.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_1o.c b/main/lzo/src/lzo1x_1o.c
index 8fd85842..b935fc7a 100644
--- a/main/lzo/src/lzo1x_1o.c
+++ b/main/lzo/src/lzo1x_1o.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_9x.c b/main/lzo/src/lzo1x_9x.c
index 4432e48d..6337f143 100644
--- a/main/lzo/src/lzo1x_9x.c
+++ b/main/lzo/src/lzo1x_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_c.ch b/main/lzo/src/lzo1x_c.ch
index 562e0b14..be19b2b7 100644
--- a/main/lzo/src/lzo1x_c.ch
+++ b/main/lzo/src/lzo1x_c.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_d.ch b/main/lzo/src/lzo1x_d.ch
index 5107f5fd..b6c6d994 100644
--- a/main/lzo/src/lzo1x_d.ch
+++ b/main/lzo/src/lzo1x_d.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_d1.c b/main/lzo/src/lzo1x_d1.c
index b31f6de1..68faf48e 100644
--- a/main/lzo/src/lzo1x_d1.c
+++ b/main/lzo/src/lzo1x_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_d2.c b/main/lzo/src/lzo1x_d2.c
index abe94632..8b7c316a 100644
--- a/main/lzo/src/lzo1x_d2.c
+++ b/main/lzo/src/lzo1x_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_d3.c b/main/lzo/src/lzo1x_d3.c
index 8bde36fb..b3d430f8 100644
--- a/main/lzo/src/lzo1x_d3.c
+++ b/main/lzo/src/lzo1x_d3.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_o.c b/main/lzo/src/lzo1x_o.c
index be596a77..9fdf306c 100644
--- a/main/lzo/src/lzo1x_o.c
+++ b/main/lzo/src/lzo1x_o.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1x_oo.ch b/main/lzo/src/lzo1x_oo.ch
index 82871bbb..bb16fd40 100644
--- a/main/lzo/src/lzo1x_oo.ch
+++ b/main/lzo/src/lzo1x_oo.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -118,7 +118,7 @@ DO_OPTIMIZE ( lzo_bytep in , lzo_uint in_len,
{
t = 15;
while (*ip == 0)
- t += 255, ip++;
+ { t += 255; ip++; }
t += *ip++;
}
lit = t + 3;
@@ -240,7 +240,7 @@ match:
{
t = 31;
while (*ip == 0)
- t += 255, ip++;
+ { t += 255; ip++; }
t += *ip++;
}
m_pos = op - 1;
@@ -256,7 +256,7 @@ match:
{
t = 7;
while (*ip == 0)
- t += 255, ip++;
+ { t += 255; ip++; }
t += *ip++;
}
m_pos -= *ip++ >> 2;
diff --git a/main/lzo/src/lzo1y_1.c b/main/lzo/src/lzo1y_1.c
index 5e1186b7..30e9ffc0 100644
--- a/main/lzo/src/lzo1y_1.c
+++ b/main/lzo/src/lzo1y_1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1y_9x.c b/main/lzo/src/lzo1y_9x.c
index d905a17c..983a8804 100644
--- a/main/lzo/src/lzo1y_9x.c
+++ b/main/lzo/src/lzo1y_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1y_d1.c b/main/lzo/src/lzo1y_d1.c
index 78e372cc..cbfa23c0 100644
--- a/main/lzo/src/lzo1y_d1.c
+++ b/main/lzo/src/lzo1y_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1y_d2.c b/main/lzo/src/lzo1y_d2.c
index 2f14724e..76fec551 100644
--- a/main/lzo/src/lzo1y_d2.c
+++ b/main/lzo/src/lzo1y_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1y_d3.c b/main/lzo/src/lzo1y_d3.c
index 9c617500..08324d68 100644
--- a/main/lzo/src/lzo1y_d3.c
+++ b/main/lzo/src/lzo1y_d3.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1y_o.c b/main/lzo/src/lzo1y_o.c
index f6d2c0a6..1e32b75b 100644
--- a/main/lzo/src/lzo1y_o.c
+++ b/main/lzo/src/lzo1y_o.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1z_9x.c b/main/lzo/src/lzo1z_9x.c
index 8914dafc..082baa49 100644
--- a/main/lzo/src/lzo1z_9x.c
+++ b/main/lzo/src/lzo1z_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1z_d1.c b/main/lzo/src/lzo1z_d1.c
index 53d4dbce..3b7b9962 100644
--- a/main/lzo/src/lzo1z_d1.c
+++ b/main/lzo/src/lzo1z_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1z_d2.c b/main/lzo/src/lzo1z_d2.c
index bb213640..6515af44 100644
--- a/main/lzo/src/lzo1z_d2.c
+++ b/main/lzo/src/lzo1z_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo1z_d3.c b/main/lzo/src/lzo1z_d3.c
index 784bb7f7..d7eae4cb 100644
--- a/main/lzo/src/lzo1z_d3.c
+++ b/main/lzo/src/lzo1z_d3.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo2a_9x.c b/main/lzo/src/lzo2a_9x.c
index 0e14916f..cc1401c5 100644
--- a/main/lzo/src/lzo2a_9x.c
+++ b/main/lzo/src/lzo2a_9x.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo2a_d.ch b/main/lzo/src/lzo2a_d.ch
index dcd2b54c..cbbb79ef 100644
--- a/main/lzo/src/lzo2a_d.ch
+++ b/main/lzo/src/lzo2a_d.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo2a_d1.c b/main/lzo/src/lzo2a_d1.c
index 5694738b..20a167c9 100644
--- a/main/lzo/src/lzo2a_d1.c
+++ b/main/lzo/src/lzo2a_d1.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo2a_d2.c b/main/lzo/src/lzo2a_d2.c
index 5bf1a219..0d7ce526 100644
--- a/main/lzo/src/lzo2a_d2.c
+++ b/main/lzo/src/lzo2a_d2.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_conf.h b/main/lzo/src/lzo_conf.h
index 06901817..aa9a2b6b 100644
--- a/main/lzo/src/lzo_conf.h
+++ b/main/lzo/src/lzo_conf.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -65,7 +65,7 @@
#endif
#endif /* !defined(__LZO_IN_MINILZO) */
-#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x2090)
+#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0)
# error "version mismatch"
#endif
diff --git a/main/lzo/src/lzo_crc.c b/main/lzo/src/lzo_crc.c
index b35ec234..56235e2f 100644
--- a/main/lzo/src/lzo_crc.c
+++ b/main/lzo/src/lzo_crc.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -31,7 +31,7 @@
/***********************************************************************
// crc32 checksum
-// adapted from free code by Mark Adler <madler@alumni.caltech.edu>
+// adapted from free code by Mark Adler <madler at alumni.caltech.edu>
// see http://www.zlib.org/
************************************************************************/
diff --git a/main/lzo/src/lzo_dict.h b/main/lzo/src/lzo_dict.h
index 68ec43ff..e48addb1 100644
--- a/main/lzo/src/lzo_dict.h
+++ b/main/lzo/src/lzo_dict.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_dll.ch b/main/lzo/src/lzo_dll.ch
index 6fda0bc0..d66839e1 100644
--- a/main/lzo/src/lzo_dll.ch
+++ b/main/lzo/src/lzo_dll.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_func.ch b/main/lzo/src/lzo_func.ch
deleted file mode 100644
index a85b71f0..00000000
--- a/main/lzo/src/lzo_func.ch
+++ /dev/null
@@ -1,122 +0,0 @@
-/* lzo_func.ch -- functions
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-/* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the library and is subject
- to change.
- */
-
-
-/***********************************************************************
-// bitops
-************************************************************************/
-
-#if (defined(_WIN32) || defined(_WIN64)) && ((LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_MSC && (_MSC_VER >= 1400)))
-#include <intrin.h>
-#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) && 0
-#pragma intrinsic(_BitScanReverse)
-static __lzo_inline unsigned lzo_bitops_clz32(lzo_uint32 v)
-{
- unsigned long r;
- (void) _BitScanReverse(&r, v);
- return (unsigned) r;
-}
-#define lzo_bitops_clz32 lzo_bitops_clz32
-#endif
-#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX) && 0
-#pragma intrinsic(_BitScanReverse64)
-static __lzo_inline unsigned lzo_bitops_clz64(lzo_uint64 v)
-{
- unsigned long r;
- (void) _BitScanReverse64(&r, v);
- return (unsigned) r;
-}
-#define lzo_bitops_clz64 lzo_bitops_clz64
-#endif
-#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
-#pragma intrinsic(_BitScanForward)
-static __lzo_inline unsigned lzo_bitops_ctz32(lzo_uint32 v)
-{
- unsigned long r;
- (void) _BitScanForward(&r, v);
- return (unsigned) r;
-}
-#define lzo_bitops_ctz32 lzo_bitops_ctz32
-#endif
-#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
-#pragma intrinsic(_BitScanForward64)
-static __lzo_inline unsigned lzo_bitops_ctz64(lzo_uint64 v)
-{
- unsigned long r;
- (void) _BitScanForward64(&r, v);
- return (unsigned) r;
-}
-#define lzo_bitops_ctz64 lzo_bitops_ctz64
-#endif
-
-#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul))))
-#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32)
-#define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v))
-#endif
-#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX)
-#define lzo_bitops_clz64(v) ((unsigned) __builtin_clzll(v))
-#endif
-#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
-#define lzo_bitops_ctz32(v) ((unsigned) __builtin_ctz(v))
-#endif
-#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
-#define lzo_bitops_ctz64(v) ((unsigned) __builtin_ctzll(v))
-#endif
-#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount32)
-#define lzo_bitops_popcount32(v) ((unsigned) __builtin_popcount(v))
-#endif
-#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount64) && defined(LZO_UINT64_MAX)
-#define lzo_bitops_popcount64(v) ((unsigned) __builtin_popcountll(v))
-#endif
-#endif
-
-
-/*
-vi:ts=4:et
-*/
-
diff --git a/main/lzo/src/lzo_func.h b/main/lzo/src/lzo_func.h
index 3c204da9..f3ac8e34 100644
--- a/main/lzo/src/lzo_func.h
+++ b/main/lzo/src/lzo_func.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_init.c b/main/lzo/src/lzo_init.c
index 142e95cd..31fdabe5 100644
--- a/main/lzo/src/lzo_init.c
+++ b/main/lzo/src/lzo_init.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_mchw.ch b/main/lzo/src/lzo_mchw.ch
index bcfec46b..94bedc3d 100644
--- a/main/lzo/src/lzo_mchw.ch
+++ b/main/lzo/src/lzo_mchw.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_ptr.c b/main/lzo/src/lzo_ptr.c
index 38359ff2..d2def7f6 100644
--- a/main/lzo/src/lzo_ptr.c
+++ b/main/lzo/src/lzo_ptr.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_ptr.h b/main/lzo/src/lzo_ptr.h
index 736c7c5f..8d7ee448 100644
--- a/main/lzo/src/lzo_ptr.h
+++ b/main/lzo/src/lzo_ptr.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_str.c b/main/lzo/src/lzo_str.c
index 3364e8af..beac725c 100644
--- a/main/lzo/src/lzo_str.c
+++ b/main/lzo/src/lzo_str.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/lzo_supp.h b/main/lzo/src/lzo_supp.h
index 87307f99..a2c90210 100644
--- a/main/lzo/src/lzo_supp.h
+++ b/main/lzo/src/lzo_supp.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -71,12 +71,12 @@
#if (LZO_OS_POSIX)
# if (LZO_OS_POSIX_AIX)
# define HAVE_SYS_RESOURCE_H 1
-# elif (LZO_OS_POSIX_FREEBSD || LZO_OS_POSIX_MACOSX || LZO_OS_POSIX_NETBSD || LZO_OS_POSIX_OPENBSD)
+# elif (LZO_OS_POSIX_DARWIN || LZO_OS_POSIX_FREEBSD || LZO_OS_POSIX_NETBSD || LZO_OS_POSIX_OPENBSD)
# define HAVE_STRINGS_H 1
# undef HAVE_MALLOC_H
# elif (LZO_OS_POSIX_HPUX || LZO_OS_POSIX_INTERIX)
# define HAVE_ALLOCA_H 1
-# elif (LZO_OS_POSIX_MACOSX && LZO_LIBC_MSL)
+# elif (LZO_OS_POSIX_DARWIN && LZO_LIBC_MSL)
# undef HAVE_SYS_TIME_H
# undef HAVE_SYS_TYPES_H
# elif (LZO_OS_POSIX_SOLARIS || LZO_OS_POSIX_SUNOS)
@@ -154,7 +154,7 @@
# undef HAVE_UTIME_H
# undef HAVE_SYS_TIME_H
# define HAVE_SYS_UTIME_H 1
-#elif (LZO_CC_GHS || LZO_CC_INTELC || LZO_CC_MSC)
+#elif (LZO_CC_CLANG_C2 || LZO_CC_CLANG_MSC || LZO_CC_GHS || LZO_CC_INTELC_MSC || LZO_CC_MSC)
# undef HAVE_DIRENT_H
# undef HAVE_UNISTD_H
# undef HAVE_UTIME_H
@@ -352,7 +352,7 @@
#if (LZO_OS_POSIX)
# if (LZO_OS_POSIX_AIX)
# define HAVE_GETRUSAGE 1
-# elif (LZO_OS_POSIX_MACOSX && LZO_LIBC_MSL)
+# elif (LZO_OS_POSIX_DARWIN && LZO_LIBC_MSL)
# undef HAVE_CHOWN
# undef HAVE_LSTAT
# elif (LZO_OS_POSIX_UNICOS)
@@ -448,7 +448,7 @@
#elif (LZO_CC_IBMC)
# undef HAVE_SNPRINTF
# undef HAVE_VSNPRINTF
-#elif (LZO_CC_INTELC)
+#elif (LZO_CC_CLANG_MSC || LZO_CC_INTELC_MSC)
# ifndef snprintf
# define snprintf _snprintf
# endif
@@ -457,7 +457,7 @@
# endif
#elif (LZO_CC_LCCWIN32)
# define utime _utime
-#elif (LZO_CC_MSC)
+#elif (LZO_CC_CLANG_C2 || LZO_CC_MSC)
# if (_MSC_VER < 600)
# undef HAVE_STRFTIME
# endif
@@ -471,7 +471,7 @@
# ifndef vsnprintf
# define vsnprintf _vsnprintf
# endif
-# else
+# elif (_MSC_VER < 1900)
# ifndef snprintf
# define snprintf _snprintf
# endif
@@ -656,8 +656,6 @@ extern "C" {
#endif
#if (LZO_BROKEN_CDECL_ALT_SYNTAX)
typedef void __lzo_cdecl_sighandler (*lzo_sighandler_t)(lzo_signo_t);
-#elif defined(RETSIGTYPE)
-typedef RETSIGTYPE (__lzo_cdecl_sighandler *lzo_sighandler_t)(lzo_signo_t);
#else
typedef void (__lzo_cdecl_sighandler *lzo_sighandler_t)(lzo_signo_t);
#endif
@@ -812,7 +810,7 @@ typedef unsigned short wchar_t;
#if (HAVE_SIGNAL_H)
# include <signal.h>
#endif
-#if (TIME_WITH_SYS_TIME)
+#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
# include <sys/time.h>
# include <time.h>
#elif (HAVE_TIME_H)
@@ -1513,18 +1511,17 @@ LZOLIB_EXTERN(int, lzo_spawnve) (int mode, const char* fn, const char* const * a
# endif
#endif
LZOCHK_ASSERT(1 == 1)
- LZOCHK_ASSERT(__LZO_MASK_GEN(1u,1) == 1)
- LZOCHK_ASSERT(__LZO_MASK_GEN(1u,2) == 3)
- LZOCHK_ASSERT(__LZO_MASK_GEN(1u,3) == 7)
- LZOCHK_ASSERT(__LZO_MASK_GEN(1u,8) == 255)
+ LZOCHK_ASSERT(__LZO_MASK_GEN(1u,1) == 1u)
+ LZOCHK_ASSERT(__LZO_MASK_GEN(1u,2) == 3u)
+ LZOCHK_ASSERT(__LZO_MASK_GEN(1u,3) == 7u)
+ LZOCHK_ASSERT(__LZO_MASK_GEN(1u,8) == 255u)
#if (LZO_SIZEOF_INT >= 2)
LZOCHK_ASSERT(__LZO_MASK_GEN(1,15) == 32767)
LZOCHK_ASSERT(__LZO_MASK_GEN(1u,16) == 0xffffU)
LZOCHK_ASSERT(__LZO_MASK_GEN(0u,16) == 0u)
-#else
+#endif
LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,16) == 0xffffUL)
LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,16) == 0ul)
-#endif
#if (LZO_SIZEOF_INT >= 4)
LZOCHK_ASSERT(__LZO_MASK_GEN(1,31) == 2147483647)
LZOCHK_ASSERT(__LZO_MASK_GEN(1u,32) == 0xffffffffU)
@@ -1922,6 +1919,14 @@ LZOLIB_EXTERN(int, lzo_spawnve) (int mode, const char* fn, const char* const * a
LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
#endif
+#if (LZO_ABI_IP32W64)
+ LZOCHK_ASSERT(sizeof(int) == 4)
+ LZOCHK_ASSERT(sizeof(void*) == 4)
+ LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
+ LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
+ LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
+ LZOCHK_ASSERT(LZO_WORDSIZE == 8)
+#endif
#if (LZO_ARCH_I086)
LZOCHK_ASSERT(sizeof(size_t) == 2)
LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
@@ -2537,7 +2542,7 @@ LZOLIB_PUBLIC(int, lzo_getopt) (lzo_getopt_p g,
if (!s || s[1] != ':')
{
if (!a[0])
- ++g->optind, g->shortpos = 0;
+ { ++g->optind; g->shortpos = 0; }
if (!s)
{
g->optopt = c;
@@ -2546,7 +2551,7 @@ LZOLIB_PUBLIC(int, lzo_getopt) (lzo_getopt_p g,
}
else
{
- ++g->optind, g->shortpos = 0;
+ ++g->optind; g->shortpos = 0;
if (a[0])
g->optarg = a;
else if (s[2] != ':')
@@ -2656,7 +2661,7 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_halloc) (lzo_hsize_t size)
p = lmalloc(size);
#else
if (size < LZO_STATIC_CAST(size_t, -1))
- p = malloc((size_t) size);
+ p = malloc(LZO_STATIC_CAST(size_t, size));
#endif
}
#endif
@@ -2866,25 +2871,25 @@ LZOLIB_PUBLIC(long, lzo_safe_hwrite) (int fd, const lzo_hvoid_p buf, long size)
#if !defined(LZOLIB_PUBLIC)
# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f)
#endif
-#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_AMD64 && LZO_ASM_SYNTAX_GNUC)
+#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_AMD64 && LZO_ASM_SYNTAX_GNUC && !LZO_CFG_NO_SYSCALL)
#ifndef lzo_pclock_syscall_clock_gettime
#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime
#endif
__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
{
unsigned long r = 228;
- __asm__ __volatile__("syscall\n" : "=a" (r) : "0" (r), "D" (clockid), "S" (ts) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
+ __asm__ __volatile__("syscall\n" : "=a" (r), "=m" (*ts) : "0" (r), "D" (clockid), "S" (ts) __LZO_ASM_CLOBBER_LIST_CC);
return LZO_ICAST(long, r);
}
#endif
-#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_I386 && LZO_ASM_SYNTAX_GNUC) && defined(lzo_int64l_t)
+#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_I386 && LZO_ASM_SYNTAX_GNUC && !LZO_CFG_NO_SYSCALL) && defined(lzo_int64l_t)
#ifndef lzo_pclock_syscall_clock_gettime
#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime
#endif
__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
{
unsigned long r = 265;
- __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n" : "=a" (r) : "0" (r), "d" (clockid), "c" (ts) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
+ __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n": "=a" (r), "=m" (*ts) : "0" (r), "d" (clockid), "c" (ts) __LZO_ASM_CLOBBER_LIST_CC);
return LZO_ICAST(long, r);
}
#endif
@@ -3283,14 +3288,6 @@ LZOLIB_PUBLIC(int, lzo_pclock_flush_cpu_cache) (lzo_pclock_handle_p h, unsigned
LZO_UNUSED(h); LZO_UNUSED(flags);
return -1;
}
-#if defined(__LZOLIB_PCLOCK_NEED_WARN_POP)
-# if (LZO_CC_MSC && (_MSC_VER >= 1200))
-# pragma warning(pop)
-# else
-# error "__LZOLIB_PCLOCK_NEED_WARN_POP"
-# endif
-# undef __LZOLIB_PCLOCK_NEED_WARN_POP
-#endif
#endif
#if defined(LZO_WANT_ACCLIB_MISC)
# undef LZO_WANT_ACCLIB_MISC
@@ -3510,11 +3507,6 @@ LZOLIB_PUBLIC(lzo_uint32e_t, lzo_muldiv32u) (lzo_uint32e_t a, lzo_uint32e_t b, l
return r;
}
#endif
-#if 0
-LZOLIB_PUBLIC_NOINLINE(int, lzo_syscall_clock_gettime) (int c)
-{
-}
-#endif
#if (LZO_OS_WIN16)
LZO_EXTERN_C void __far __pascal DebugBreak(void);
#endif
@@ -3642,7 +3634,8 @@ LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); }
#endif
#endif
#if (LZO_OS_WIN32 || LZO_OS_WIN64)
-#if (LZO_CC_INTELC || LZO_CC_MSC)
+#if (LZO_CC_MSC && (_MSC_VER >= 1900))
+#elif (LZO_CC_INTELC || LZO_CC_MSC)
LZO_EXTERN_C int __lzo_cdecl __setargv(void);
LZO_EXTERN_C int __lzo_cdecl _setargv(void);
LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); }
diff --git a/main/lzo/src/lzo_swd.ch b/main/lzo/src/lzo_swd.ch
index 4a73a6b4..20bc4617 100644
--- a/main/lzo/src/lzo_swd.ch
+++ b/main/lzo/src/lzo_swd.ch
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -514,12 +514,13 @@ void swd_search(lzo_swd_p s, lzo_uint node, lzo_uint cnt)
const lzo_bytep b = s_b(s);
const lzo_bytep bp = s_b(s) + s->bp;
const lzo_bytep bx = s_b(s) + s->bp + s->look;
+ swd_uintp succ3 = s_succ3(s);
unsigned char scan_end1;
assert(s->m_len > 0);
scan_end1 = bp[m_len - 1];
- for ( ; cnt-- > 0; node = s_succ3(s)[node])
+ for ( ; cnt-- > 0; node = succ3[node])
{
p1 = bp;
p2 = b + node;
diff --git a/main/lzo/src/lzo_util.c b/main/lzo/src/lzo_util.c
index 2f8059f5..f1d72e31 100644
--- a/main/lzo/src/lzo_util.c
+++ b/main/lzo/src/lzo_util.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
@@ -44,7 +44,7 @@ static const char lzo_copyright_[] =
#else
"\r\n\n"
"LZO data compression library.\n"
- "$Copyright: LZO Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer\n"
+ "$Copyright: LZO Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer\n"
"<markus@oberhumer.com>\n"
"http://www.oberhumer.com $\n\n"
"$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
@@ -93,7 +93,7 @@ _lzo_version_date(void)
/***********************************************************************
// adler32 checksum
-// adapted from free code by Mark Adler <madler@alumni.caltech.edu>
+// adapted from free code by Mark Adler <madler at alumni.caltech.edu>
// see http://www.zlib.org/
************************************************************************/
diff --git a/main/lzo/src/miniacc.h b/main/lzo/src/miniacc.h
deleted file mode 100644
index 0487a004..00000000
--- a/main/lzo/src/miniacc.h
+++ /dev/null
@@ -1,6922 +0,0 @@
-/* ACC --- Automatic Compiler Configuration
-
- This file is part of the LZO real-time data compression library.
-
- Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
- Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
- All Rights Reserved.
-
- The LZO library is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of
- the License, or (at your option) any later version.
-
- The LZO library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with the LZO library; see the file COPYING.
- If not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- Markus F.X.J. Oberhumer
- <markus@oberhumer.com>
- http://www.oberhumer.com/opensource/lzo/
- */
-
-
-#ifndef __ACC_H_INCLUDED
-#define __ACC_H_INCLUDED 1
-#define ACC_VERSION 20110125L
-#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
-# define __CYGWIN__ __CYGWIN32__
-#endif
-#if defined(__IBMCPP__) && !defined(__IBMC__)
-# define __IBMC__ __IBMCPP__
-#endif
-#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
-# define __INTEL_COMPILER __ICL
-#endif
-#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
-# define _ALL_SOURCE 1
-#endif
-#if defined(__mips__) && defined(__R5900__)
-# if !defined(__LONG_MAX__)
-# define __LONG_MAX__ 9223372036854775807L
-# endif
-#endif
-#if defined(__INTEL_COMPILER) && defined(__linux__)
-# pragma warning(disable: 193)
-#endif
-#if defined(__KEIL__) && defined(__C166__)
-# pragma warning disable = 322
-#elif 0 && defined(__C251__)
-# pragma warning disable = 322
-#endif
-#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
-# if (_MSC_VER >= 1300)
-# pragma warning(disable: 4668)
-# endif
-#endif
-#if defined(__POCC__) && defined(_WIN32)
-# if (__POCC__ >= 400)
-# pragma warn(disable: 2216)
-# endif
-#endif
-#if 0 && defined(__WATCOMC__)
-# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
-# pragma warning 203 9
-# endif
-#endif
-#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
-# pragma option -h
-#endif
-#if (ACC_CFG_NO_CONFIG_HEADER)
-#elif defined(ACC_CFG_CONFIG_HEADER)
-# include ACC_CFG_CONFIG_HEADER
-#else
-#endif
-#if (ACC_CFG_NO_LIMITS_H)
-#elif (ACC_LIBC_NAKED) || (ACC_BROKEN_LIMITS_H)
-#ifndef __ACC_FALLBACK_LIMITS_H_INCLUDED
-#define __ACC_FALLBACK_LIMITS_H_INCLUDED 1
-#undef CHAR_BIT
-#define CHAR_BIT 8
-#ifndef MB_LEN_MAX
-#define MB_LEN_MAX 1
-#endif
-#ifndef __SCHAR_MAX__
-#define __SCHAR_MAX__ 127
-#endif
-#ifndef __SHRT_MAX__
-#define __SHRT_MAX__ 32767
-#endif
-#ifndef __INT_MAX__
-#define __INT_MAX__ 2147483647
-#endif
-#ifndef __LONG_MAX__
-#if defined(__alpha__) || defined(_LP64) || defined(__MIPS_PSX2__)
-#define __LONG_MAX__ 9223372036854775807L
-#else
-#define __LONG_MAX__ 2147483647L
-#endif
-#endif
-#undef SCHAR_MIN
-#undef SCHAR_MAX
-#undef UCHAR_MAX
-#define SCHAR_MIN (-1 - SCHAR_MAX)
-#define SCHAR_MAX (__SCHAR_MAX__)
-#define UCHAR_MAX (SCHAR_MAX * 2 + 1)
-#undef SHRT_MIN
-#undef SHRT_MAX
-#undef USHRT_MAX
-#define SHRT_MIN (-1 - SHRT_MAX)
-#define SHRT_MAX (__SHRT_MAX__)
-#if ((__INT_MAX__) == (__SHRT_MAX__))
-#define USHRT_MAX (SHRT_MAX * 2U + 1U)
-#else
-#define USHRT_MAX (SHRT_MAX * 2 + 1)
-#endif
-#undef INT_MIN
-#undef INT_MAX
-#undef UINT_MAX
-#define INT_MIN (-1 - INT_MAX)
-#define INT_MAX (__INT_MAX__)
-#define UINT_MAX (INT_MAX * 2U + 1U)
-#undef LONG_MIN
-#undef LONG_MAX
-#undef ULONG_MAX
-#define LONG_MIN (-1L - LONG_MAX)
-#define LONG_MAX ((__LONG_MAX__) + 0L)
-#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
-#undef CHAR_MIN
-#undef CHAR_MAX
-#if defined(__CHAR_UNSIGNED__) || defined(_CHAR_UNSIGNED)
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
-#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
-#endif
-#endif
-#else
-# include <limits.h>
-#endif
-#if 0
-#define ACC_0xffffL 0xfffful
-#define ACC_0xffffffffL 0xfffffffful
-#else
-#define ACC_0xffffL 65535ul
-#define ACC_0xffffffffL 4294967295ul
-#endif
-#if (ACC_0xffffL == ACC_0xffffffffL)
-# error "your preprocessor is broken 1"
-#endif
-#if (16ul * 16384ul != 262144ul)
-# error "your preprocessor is broken 2"
-#endif
-#if 0
-#if (32767 >= 4294967295ul)
-# error "your preprocessor is broken 3"
-#endif
-#if (65535u >= 4294967295ul)
-# error "your preprocessor is broken 4"
-#endif
-#endif
-#if (UINT_MAX == ACC_0xffffL)
-#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
-# if !defined(MSDOS)
-# define MSDOS 1
-# endif
-# if !defined(_MSDOS)
-# define _MSDOS 1
-# endif
-#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
-# if (__VERSION == 520) && (MB_LEN_MAX == 1)
-# if !defined(__AZTEC_C__)
-# define __AZTEC_C__ __VERSION
-# endif
-# if !defined(__DOS__)
-# define __DOS__ 1
-# endif
-# endif
-#endif
-#endif
-#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == ACC_0xffffL)
-# define ptrdiff_t long
-# define _PTRDIFF_T_DEFINED 1
-#endif
-#if (UINT_MAX == ACC_0xffffL)
-# undef __ACC_RENAME_A
-# undef __ACC_RENAME_B
-# if defined(__AZTEC_C__) && defined(__DOS__)
-# define __ACC_RENAME_A 1
-# elif defined(_MSC_VER) && defined(MSDOS)
-# if (_MSC_VER < 600)
-# define __ACC_RENAME_A 1
-# elif (_MSC_VER < 700)
-# define __ACC_RENAME_B 1
-# endif
-# elif defined(__TSC__) && defined(__OS2__)
-# define __ACC_RENAME_A 1
-# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
-# define __ACC_RENAME_A 1
-# elif defined(__PACIFIC__) && defined(DOS)
-# if !defined(__far)
-# define __far far
-# endif
-# if !defined(__near)
-# define __near near
-# endif
-# endif
-# if defined(__ACC_RENAME_A)
-# if !defined(__cdecl)
-# define __cdecl cdecl
-# endif
-# if !defined(__far)
-# define __far far
-# endif
-# if !defined(__huge)
-# define __huge huge
-# endif
-# if !defined(__near)
-# define __near near
-# endif
-# if !defined(__pascal)
-# define __pascal pascal
-# endif
-# if !defined(__huge)
-# define __huge huge
-# endif
-# elif defined(__ACC_RENAME_B)
-# if !defined(__cdecl)
-# define __cdecl _cdecl
-# endif
-# if !defined(__far)
-# define __far _far
-# endif
-# if !defined(__huge)
-# define __huge _huge
-# endif
-# if !defined(__near)
-# define __near _near
-# endif
-# if !defined(__pascal)
-# define __pascal _pascal
-# endif
-# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
-# if !defined(__cdecl)
-# define __cdecl cdecl
-# endif
-# if !defined(__pascal)
-# define __pascal pascal
-# endif
-# endif
-# undef __ACC_RENAME_A
-# undef __ACC_RENAME_B
-#endif
-#if (UINT_MAX == ACC_0xffffL)
-#if defined(__AZTEC_C__) && defined(__DOS__)
-# define ACC_BROKEN_CDECL_ALT_SYNTAX 1
-#elif defined(_MSC_VER) && defined(MSDOS)
-# if (_MSC_VER < 600)
-# define ACC_BROKEN_INTEGRAL_CONSTANTS 1
-# endif
-# if (_MSC_VER < 700)
-# define ACC_BROKEN_INTEGRAL_PROMOTION 1
-# define ACC_BROKEN_SIZEOF 1
-# endif
-#elif defined(__PACIFIC__) && defined(DOS)
-# define ACC_BROKEN_INTEGRAL_CONSTANTS 1
-#elif defined(__TURBOC__) && defined(__MSDOS__)
-# if (__TURBOC__ < 0x0150)
-# define ACC_BROKEN_CDECL_ALT_SYNTAX 1
-# define ACC_BROKEN_INTEGRAL_CONSTANTS 1
-# define ACC_BROKEN_INTEGRAL_PROMOTION 1
-# endif
-# if (__TURBOC__ < 0x0200)
-# define ACC_BROKEN_SIZEOF 1
-# endif
-# if (__TURBOC__ < 0x0400) && defined(__cplusplus)
-# define ACC_BROKEN_CDECL_ALT_SYNTAX 1
-# endif
-#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
-# define ACC_BROKEN_CDECL_ALT_SYNTAX 1
-# define ACC_BROKEN_SIZEOF 1
-#endif
-#endif
-#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
-# define ACC_BROKEN_INTEGRAL_CONSTANTS 1
-#endif
-#if defined(_CRAY) && defined(_CRAY1)
-# define ACC_BROKEN_SIGNED_RIGHT_SHIFT 1
-#endif
-#define ACC_PP_STRINGIZE(x) #x
-#define ACC_PP_MACRO_EXPAND(x) ACC_PP_STRINGIZE(x)
-#define ACC_PP_CONCAT2(a,b) a ## b
-#define ACC_PP_CONCAT3(a,b,c) a ## b ## c
-#define ACC_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
-#define ACC_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
-#define ACC_PP_ECONCAT2(a,b) ACC_PP_CONCAT2(a,b)
-#define ACC_PP_ECONCAT3(a,b,c) ACC_PP_CONCAT3(a,b,c)
-#define ACC_PP_ECONCAT4(a,b,c,d) ACC_PP_CONCAT4(a,b,c,d)
-#define ACC_PP_ECONCAT5(a,b,c,d,e) ACC_PP_CONCAT5(a,b,c,d,e)
-#if 1
-#define ACC_CPP_STRINGIZE(x) #x
-#define ACC_CPP_MACRO_EXPAND(x) ACC_CPP_STRINGIZE(x)
-#define ACC_CPP_CONCAT2(a,b) a ## b
-#define ACC_CPP_CONCAT3(a,b,c) a ## b ## c
-#define ACC_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d
-#define ACC_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
-#define ACC_CPP_ECONCAT2(a,b) ACC_CPP_CONCAT2(a,b)
-#define ACC_CPP_ECONCAT3(a,b,c) ACC_CPP_CONCAT3(a,b,c)
-#define ACC_CPP_ECONCAT4(a,b,c,d) ACC_CPP_CONCAT4(a,b,c,d)
-#define ACC_CPP_ECONCAT5(a,b,c,d,e) ACC_CPP_CONCAT5(a,b,c,d,e)
-#endif
-#define __ACC_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
-#if 1 && defined(__cplusplus)
-# if !defined(__STDC_CONSTANT_MACROS)
-# define __STDC_CONSTANT_MACROS 1
-# endif
-# if !defined(__STDC_LIMIT_MACROS)
-# define __STDC_LIMIT_MACROS 1
-# endif
-#endif
-#if defined(__cplusplus)
-# define ACC_EXTERN_C extern "C"
-#else
-# define ACC_EXTERN_C extern
-#endif
-#if !defined(__ACC_OS_OVERRIDE)
-#if (ACC_OS_FREESTANDING)
-# define ACC_INFO_OS "freestanding"
-#elif (ACC_OS_EMBEDDED)
-# define ACC_INFO_OS "embedded"
-#elif 1 && defined(__IAR_SYSTEMS_ICC__)
-# define ACC_OS_EMBEDDED 1
-# define ACC_INFO_OS "embedded"
-#elif defined(__CYGWIN__) && defined(__GNUC__)
-# define ACC_OS_CYGWIN 1
-# define ACC_INFO_OS "cygwin"
-#elif defined(__EMX__) && defined(__GNUC__)
-# define ACC_OS_EMX 1
-# define ACC_INFO_OS "emx"
-#elif defined(__BEOS__)
-# define ACC_OS_BEOS 1
-# define ACC_INFO_OS "beos"
-#elif defined(__Lynx__)
-# define ACC_OS_LYNXOS 1
-# define ACC_INFO_OS "lynxos"
-#elif defined(__OS400__)
-# define ACC_OS_OS400 1
-# define ACC_INFO_OS "os400"
-#elif defined(__QNX__)
-# define ACC_OS_QNX 1
-# define ACC_INFO_OS "qnx"
-#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
-# define ACC_OS_DOS32 1
-# define ACC_INFO_OS "dos32"
-#elif defined(__BORLANDC__) && defined(__DPMI16__)
-# define ACC_OS_DOS16 1
-# define ACC_INFO_OS "dos16"
-#elif defined(__ZTC__) && defined(DOS386)
-# define ACC_OS_DOS32 1
-# define ACC_INFO_OS "dos32"
-#elif defined(__OS2__) || defined(__OS2V2__)
-# if (UINT_MAX == ACC_0xffffL)
-# define ACC_OS_OS216 1
-# define ACC_INFO_OS "os216"
-# elif (UINT_MAX == ACC_0xffffffffL)
-# define ACC_OS_OS2 1
-# define ACC_INFO_OS "os2"
-# else
-# error "check your limits.h header"
-# endif
-#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
-# define ACC_OS_WIN64 1
-# define ACC_INFO_OS "win64"
-#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
-# define ACC_OS_WIN32 1
-# define ACC_INFO_OS "win32"
-#elif defined(__MWERKS__) && defined(__INTEL__)
-# define ACC_OS_WIN32 1
-# define ACC_INFO_OS "win32"
-#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
-# if (UINT_MAX == ACC_0xffffL)
-# define ACC_OS_WIN16 1
-# define ACC_INFO_OS "win16"
-# elif (UINT_MAX == ACC_0xffffffffL)
-# define ACC_OS_WIN32 1
-# define ACC_INFO_OS "win32"
-# else
-# error "check your limits.h header"
-# endif
-#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
-# if (UINT_MAX == ACC_0xffffL)
-# define ACC_OS_DOS16 1
-# define ACC_INFO_OS "dos16"
-# elif (UINT_MAX == ACC_0xffffffffL)
-# define ACC_OS_DOS32 1
-# define ACC_INFO_OS "dos32"
-# else
-# error "check your limits.h header"
-# endif
-#elif defined(__WATCOMC__)
-# if defined(__NT__) && (UINT_MAX == ACC_0xffffL)
-# define ACC_OS_DOS16 1
-# define ACC_INFO_OS "dos16"
-# elif defined(__NT__) && (__WATCOMC__ < 1100)
-# define ACC_OS_WIN32 1
-# define ACC_INFO_OS "win32"
-# elif defined(__linux__) || defined(__LINUX__)
-# define ACC_OS_POSIX 1
-# define ACC_INFO_OS "posix"
-# else
-# error "please specify a target using the -bt compiler option"
-# endif
-#elif defined(__palmos__)
-# define ACC_OS_PALMOS 1
-# define ACC_INFO_OS "palmos"
-#elif defined(__TOS__) || defined(__atarist__)
-# define ACC_OS_TOS 1
-# define ACC_INFO_OS "tos"
-#elif defined(macintosh) && !defined(__ppc__)
-# define ACC_OS_MACCLASSIC 1
-# define ACC_INFO_OS "macclassic"
-#elif defined(__VMS)
-# define ACC_OS_VMS 1
-# define ACC_INFO_OS "vms"
-#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
-# define ACC_OS_CONSOLE 1
-# define ACC_OS_CONSOLE_PS2 1
-# define ACC_INFO_OS "console"
-# define ACC_INFO_OS_CONSOLE "ps2"
-#elif (defined(__mips__) && defined(__psp__))
-# define ACC_OS_CONSOLE 1
-# define ACC_OS_CONSOLE_PSP 1
-# define ACC_INFO_OS "console"
-# define ACC_INFO_OS_CONSOLE "psp"
-#else
-# define ACC_OS_POSIX 1
-# define ACC_INFO_OS "posix"
-#endif
-#if (ACC_OS_POSIX)
-# if defined(_AIX) || defined(__AIX__) || defined(__aix__)
-# define ACC_OS_POSIX_AIX 1
-# define ACC_INFO_OS_POSIX "aix"
-# elif defined(__FreeBSD__)
-# define ACC_OS_POSIX_FREEBSD 1
-# define ACC_INFO_OS_POSIX "freebsd"
-# elif defined(__hpux__) || defined(__hpux)
-# define ACC_OS_POSIX_HPUX 1
-# define ACC_INFO_OS_POSIX "hpux"
-# elif defined(__INTERIX)
-# define ACC_OS_POSIX_INTERIX 1
-# define ACC_INFO_OS_POSIX "interix"
-# elif defined(__IRIX__) || defined(__irix__)
-# define ACC_OS_POSIX_IRIX 1
-# define ACC_INFO_OS_POSIX "irix"
-# elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
-# define ACC_OS_POSIX_LINUX 1
-# define ACC_INFO_OS_POSIX "linux"
-# elif defined(__APPLE__) || defined(__MACOS__)
-# define ACC_OS_POSIX_MACOSX 1
-# define ACC_INFO_OS_POSIX "macosx"
-# elif defined(__minix__) || defined(__minix)
-# define ACC_OS_POSIX_MINIX 1
-# define ACC_INFO_OS_POSIX "minix"
-# elif defined(__NetBSD__)
-# define ACC_OS_POSIX_NETBSD 1
-# define ACC_INFO_OS_POSIX "netbsd"
-# elif defined(__OpenBSD__)
-# define ACC_OS_POSIX_OPENBSD 1
-# define ACC_INFO_OS_POSIX "openbsd"
-# elif defined(__osf__)
-# define ACC_OS_POSIX_OSF 1
-# define ACC_INFO_OS_POSIX "osf"
-# elif defined(__solaris__) || defined(__sun)
-# if defined(__SVR4) || defined(__svr4__)
-# define ACC_OS_POSIX_SOLARIS 1
-# define ACC_INFO_OS_POSIX "solaris"
-# else
-# define ACC_OS_POSIX_SUNOS 1
-# define ACC_INFO_OS_POSIX "sunos"
-# endif
-# elif defined(__ultrix__) || defined(__ultrix)
-# define ACC_OS_POSIX_ULTRIX 1
-# define ACC_INFO_OS_POSIX "ultrix"
-# elif defined(_UNICOS)
-# define ACC_OS_POSIX_UNICOS 1
-# define ACC_INFO_OS_POSIX "unicos"
-# else
-# define ACC_OS_POSIX_UNKNOWN 1
-# define ACC_INFO_OS_POSIX "unknown"
-# endif
-#endif
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
-# if (UINT_MAX != ACC_0xffffL)
-# error "this should not happen"
-# endif
-# if (ULONG_MAX != ACC_0xffffffffL)
-# error "this should not happen"
-# endif
-#endif
-#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32 || ACC_OS_WIN64)
-# if (UINT_MAX != ACC_0xffffffffL)
-# error "this should not happen"
-# endif
-# if (ULONG_MAX != ACC_0xffffffffL)
-# error "this should not happen"
-# endif
-#endif
-#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
-# define ACC_CC_CILLY 1
-# define ACC_INFO_CC "Cilly"
-# if defined(__CILLY__)
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__CILLY__)
-# else
-# define ACC_INFO_CCVER "unknown"
-# endif
-#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
-# define ACC_CC_SDCC 1
-# define ACC_INFO_CC "sdcc"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(SDCC)
-#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
-# define ACC_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
-# define ACC_INFO_CC "Pathscale C"
-# define ACC_INFO_CCVER __PATHSCALE__
-#elif defined(__INTEL_COMPILER)
-# define ACC_CC_INTELC 1
-# define ACC_INFO_CC "Intel C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__INTEL_COMPILER)
-# if defined(_WIN32) || defined(_WIN64)
-# define ACC_CC_SYNTAX_MSC 1
-# else
-# define ACC_CC_SYNTAX_GNUC 1
-# endif
-#elif defined(__POCC__) && defined(_WIN32)
-# define ACC_CC_PELLESC 1
-# define ACC_INFO_CC "Pelles C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__POCC__)
-#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
-# if defined(__GNUC_PATCHLEVEL__)
-# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
-# else
-# define ACC_CC_CLANG_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
-# endif
-# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
-# define ACC_CC_CLANG_CLANG (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
-# else
-# define ACC_CC_CLANG_CLANG 0x010000L
-# endif
-# define ACC_CC_CLANG ACC_CC_CLANG_GNUC
-# define ACC_INFO_CC "clang"
-# define ACC_INFO_CCVER __VERSION__
-#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
-# if defined(__GNUC_PATCHLEVEL__)
-# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
-# else
-# define ACC_CC_LLVM_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
-# endif
-# define ACC_CC_LLVM ACC_CC_LLVM_GNUC
-# define ACC_INFO_CC "llvm-gcc"
-# define ACC_INFO_CCVER __VERSION__
-#elif defined(__GNUC__) && defined(__VERSION__)
-# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
-# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
-# elif defined(__GNUC_MINOR__)
-# define ACC_CC_GNUC (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
-# else
-# define ACC_CC_GNUC (__GNUC__ * 0x10000L)
-# endif
-# define ACC_INFO_CC "gcc"
-# define ACC_INFO_CCVER __VERSION__
-#elif defined(__ACK__) && defined(_ACK)
-# define ACC_CC_ACK 1
-# define ACC_INFO_CC "Amsterdam Compiler Kit C"
-# define ACC_INFO_CCVER "unknown"
-#elif defined(__AZTEC_C__)
-# define ACC_CC_AZTECC 1
-# define ACC_INFO_CC "Aztec C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__AZTEC_C__)
-#elif defined(__CODEGEARC__)
-# define ACC_CC_CODEGEARC 1
-# define ACC_INFO_CC "CodeGear C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__CODEGEARC__)
-#elif defined(__BORLANDC__)
-# define ACC_CC_BORLANDC 1
-# define ACC_INFO_CC "Borland C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__BORLANDC__)
-#elif defined(_CRAYC) && defined(_RELEASE)
-# define ACC_CC_CRAYC 1
-# define ACC_INFO_CC "Cray C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(_RELEASE)
-#elif defined(__DMC__) && defined(__SC__)
-# define ACC_CC_DMC 1
-# define ACC_INFO_CC "Digital Mars C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__DMC__)
-#elif defined(__DECC)
-# define ACC_CC_DECC 1
-# define ACC_INFO_CC "DEC C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__DECC)
-#elif defined(__HIGHC__)
-# define ACC_CC_HIGHC 1
-# define ACC_INFO_CC "MetaWare High C"
-# define ACC_INFO_CCVER "unknown"
-#elif defined(__IAR_SYSTEMS_ICC__)
-# define ACC_CC_IARC 1
-# define ACC_INFO_CC "IAR C"
-# if defined(__VER__)
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__VER__)
-# else
-# define ACC_INFO_CCVER "unknown"
-# endif
-#elif defined(__IBMC__)
-# define ACC_CC_IBMC 1
-# define ACC_INFO_CC "IBM C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__IBMC__)
-#elif defined(__KEIL__) && defined(__C166__)
-# define ACC_CC_KEILC 1
-# define ACC_INFO_CC "Keil C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__C166__)
-#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
-# define ACC_CC_LCCWIN32 1
-# define ACC_INFO_CC "lcc-win32"
-# define ACC_INFO_CCVER "unknown"
-#elif defined(__LCC__)
-# define ACC_CC_LCC 1
-# define ACC_INFO_CC "lcc"
-# if defined(__LCC_VERSION__)
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__LCC_VERSION__)
-# else
-# define ACC_INFO_CCVER "unknown"
-# endif
-#elif defined(_MSC_VER)
-# define ACC_CC_MSC 1
-# define ACC_INFO_CC "Microsoft C"
-# if defined(_MSC_FULL_VER)
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(_MSC_VER) "." ACC_PP_MACRO_EXPAND(_MSC_FULL_VER)
-# else
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(_MSC_VER)
-# endif
-#elif defined(__MWERKS__)
-# define ACC_CC_MWERKS 1
-# define ACC_INFO_CC "Metrowerks C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__MWERKS__)
-#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
-# define ACC_CC_NDPC 1
-# define ACC_INFO_CC "Microway NDP C"
-# define ACC_INFO_CCVER "unknown"
-#elif defined(__PACIFIC__)
-# define ACC_CC_PACIFICC 1
-# define ACC_INFO_CC "Pacific C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__PACIFIC__)
-#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
-# define ACC_CC_PGI 1
-# define ACC_INFO_CC "Portland Group PGI C"
-# define ACC_INFO_CCVER "unknown"
-#elif defined(__PUREC__) && defined(__TOS__)
-# define ACC_CC_PUREC 1
-# define ACC_INFO_CC "Pure C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__PUREC__)
-#elif defined(__SC__) && defined(__ZTC__)
-# define ACC_CC_SYMANTECC 1
-# define ACC_INFO_CC "Symantec C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__SC__)
-#elif defined(__SUNPRO_C)
-# define ACC_INFO_CC "SunPro C"
-# if ((__SUNPRO_C)+0 > 0)
-# define ACC_CC_SUNPROC __SUNPRO_C
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__SUNPRO_C)
-# else
-# define ACC_CC_SUNPROC 1
-# define ACC_INFO_CCVER "unknown"
-# endif
-#elif defined(__SUNPRO_CC)
-# define ACC_INFO_CC "SunPro C"
-# if ((__SUNPRO_CC)+0 > 0)
-# define ACC_CC_SUNPROC __SUNPRO_CC
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__SUNPRO_CC)
-# else
-# define ACC_CC_SUNPROC 1
-# define ACC_INFO_CCVER "unknown"
-# endif
-#elif defined(__TINYC__)
-# define ACC_CC_TINYC 1
-# define ACC_INFO_CC "Tiny C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__TINYC__)
-#elif defined(__TSC__)
-# define ACC_CC_TOPSPEEDC 1
-# define ACC_INFO_CC "TopSpeed C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__TSC__)
-#elif defined(__WATCOMC__)
-# define ACC_CC_WATCOMC 1
-# define ACC_INFO_CC "Watcom C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__WATCOMC__)
-#elif defined(__TURBOC__)
-# define ACC_CC_TURBOC 1
-# define ACC_INFO_CC "Turbo C"
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__TURBOC__)
-#elif defined(__ZTC__)
-# define ACC_CC_ZORTECHC 1
-# define ACC_INFO_CC "Zortech C"
-# if (__ZTC__ == 0x310)
-# define ACC_INFO_CCVER "0x310"
-# else
-# define ACC_INFO_CCVER ACC_PP_MACRO_EXPAND(__ZTC__)
-# endif
-#else
-# define ACC_CC_UNKNOWN 1
-# define ACC_INFO_CC "unknown"
-# define ACC_INFO_CCVER "unknown"
-#endif
-#if 0 && (ACC_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
-# error "ACC_CC_MSC: _MSC_FULL_VER is not defined"
-#endif
-#if !defined(__ACC_ARCH_OVERRIDE) && !(ACC_ARCH_GENERIC) && defined(_CRAY)
-# if (UINT_MAX > ACC_0xffffffffL) && defined(_CRAY)
-# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
-# define ACC_ARCH_CRAY_MPP 1
-# elif defined(_CRAY1)
-# define ACC_ARCH_CRAY_PVP 1
-# endif
-# endif
-#endif
-#if !defined(__ACC_ARCH_OVERRIDE)
-#if (ACC_ARCH_GENERIC)
-# define ACC_INFO_ARCH "generic"
-#elif (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
-# define ACC_ARCH_I086 1
-# define ACC_ARCH_IA16 1
-# define ACC_INFO_ARCH "i086"
-#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
-# define ACC_ARCH_ALPHA 1
-# define ACC_INFO_ARCH "alpha"
-#elif (ACC_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
-# define ACC_ARCH_ALPHA 1
-# define ACC_INFO_ARCH "alpha"
-#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
-# define ACC_ARCH_AMD64 1
-# define ACC_INFO_ARCH "amd64"
-#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
-# define ACC_ARCH_ARM 1
-# define ACC_ARCH_ARM_THUMB 1
-# define ACC_INFO_ARCH "arm_thumb"
-#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
-# define ACC_ARCH_ARM 1
-# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
-# define ACC_ARCH_ARM_THUMB 1
-# define ACC_INFO_ARCH "arm_thumb"
-# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
-# define ACC_INFO_ARCH "arm"
-# else
-# define ACC_INFO_ARCH "arm"
-# endif
-#elif defined(__arm__) || defined(_M_ARM)
-# define ACC_ARCH_ARM 1
-# define ACC_INFO_ARCH "arm"
-#elif (UINT_MAX <= ACC_0xffffL) && defined(__AVR__)
-# define ACC_ARCH_AVR 1
-# define ACC_INFO_ARCH "avr"
-#elif defined(__avr32__) || defined(__AVR32__)
-# define ACC_ARCH_AVR32 1
-# define ACC_INFO_ARCH "avr32"
-#elif defined(__bfin__)
-# define ACC_ARCH_BLACKFIN 1
-# define ACC_INFO_ARCH "blackfin"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__C166__)
-# define ACC_ARCH_C166 1
-# define ACC_INFO_ARCH "c166"
-#elif defined(__cris__)
-# define ACC_ARCH_CRIS 1
-# define ACC_INFO_ARCH "cris"
-#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
-# define ACC_ARCH_EZ80 1
-# define ACC_INFO_ARCH "ez80"
-#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define ACC_ARCH_H8300 1
-# define ACC_INFO_ARCH "h8300"
-#elif defined(__hppa__) || defined(__hppa)
-# define ACC_ARCH_HPPA 1
-# define ACC_INFO_ARCH "hppa"
-#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
-# define ACC_ARCH_I386 1
-# define ACC_ARCH_IA32 1
-# define ACC_INFO_ARCH "i386"
-#elif (ACC_CC_ZORTECHC && defined(__I86__))
-# define ACC_ARCH_I386 1
-# define ACC_ARCH_IA32 1
-# define ACC_INFO_ARCH "i386"
-#elif (ACC_OS_DOS32 && ACC_CC_HIGHC) && defined(_I386)
-# define ACC_ARCH_I386 1
-# define ACC_ARCH_IA32 1
-# define ACC_INFO_ARCH "i386"
-#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
-# define ACC_ARCH_IA64 1
-# define ACC_INFO_ARCH "ia64"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__m32c__)
-# define ACC_ARCH_M16C 1
-# define ACC_INFO_ARCH "m16c"
-#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
-# define ACC_ARCH_M16C 1
-# define ACC_INFO_ARCH "m16c"
-#elif defined(__m32r__)
-# define ACC_ARCH_M32R 1
-# define ACC_INFO_ARCH "m32r"
-#elif (ACC_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
-# define ACC_ARCH_M68K 1
-# define ACC_INFO_ARCH "m68k"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__C251__)
-# define ACC_ARCH_MCS251 1
-# define ACC_INFO_ARCH "mcs251"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__C51__)
-# define ACC_ARCH_MCS51 1
-# define ACC_INFO_ARCH "mcs51"
-#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
-# define ACC_ARCH_MCS51 1
-# define ACC_INFO_ARCH "mcs51"
-#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
-# define ACC_ARCH_MIPS 1
-# define ACC_INFO_ARCH "mips"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__MSP430__)
-# define ACC_ARCH_MSP430 1
-# define ACC_INFO_ARCH "msp430"
-#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
-# define ACC_ARCH_MSP430 1
-# define ACC_INFO_ARCH "msp430"
-#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
-# define ACC_ARCH_POWERPC 1
-# define ACC_INFO_ARCH "powerpc"
-#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
-# define ACC_ARCH_S390 1
-# define ACC_INFO_ARCH "s390"
-#elif defined(__sh__) || defined(_M_SH)
-# define ACC_ARCH_SH 1
-# define ACC_INFO_ARCH "sh"
-#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
-# define ACC_ARCH_SPARC 1
-# define ACC_INFO_ARCH "sparc"
-#elif defined(__SPU__)
-# define ACC_ARCH_SPU 1
-# define ACC_INFO_ARCH "spu"
-#elif (UINT_MAX == ACC_0xffffL) && defined(__z80)
-# define ACC_ARCH_Z80 1
-# define ACC_INFO_ARCH "z80"
-#elif (ACC_ARCH_CRAY_PVP)
-# if defined(_CRAYSV1)
-# define ACC_ARCH_CRAY_SV1 1
-# define ACC_INFO_ARCH "cray_sv1"
-# elif (_ADDR64)
-# define ACC_ARCH_CRAY_T90 1
-# define ACC_INFO_ARCH "cray_t90"
-# elif (_ADDR32)
-# define ACC_ARCH_CRAY_YMP 1
-# define ACC_INFO_ARCH "cray_ymp"
-# else
-# define ACC_ARCH_CRAY_XMP 1
-# define ACC_INFO_ARCH "cray_xmp"
-# endif
-#else
-# define ACC_ARCH_UNKNOWN 1
-# define ACC_INFO_ARCH "unknown"
-#endif
-#endif
-#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_DOS32 || ACC_OS_OS2)
-# error "FIXME - missing define for CPU architecture"
-#endif
-#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN32)
-# error "FIXME - missing WIN32 define for CPU architecture"
-#endif
-#if 1 && (ACC_ARCH_UNKNOWN) && (ACC_OS_WIN64)
-# error "FIXME - missing WIN64 define for CPU architecture"
-#endif
-#if (ACC_OS_OS216 || ACC_OS_WIN16)
-# define ACC_ARCH_I086PM 1
-# define ACC_ARCH_IA16PM 1
-#elif 1 && (ACC_OS_DOS16 && defined(BLX286))
-# define ACC_ARCH_I086PM 1
-# define ACC_ARCH_IA16PM 1
-#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
-# define ACC_ARCH_I086PM 1
-# define ACC_ARCH_IA16PM 1
-#elif 1 && (ACC_OS_DOS16 && ACC_CC_BORLANDC && defined(__DPMI16__))
-# define ACC_ARCH_I086PM 1
-# define ACC_ARCH_IA16PM 1
-#endif
-#if (ACC_ARCH_ARM_THUMB) && !(ACC_ARCH_ARM)
-# error "this should not happen"
-#endif
-#if (ACC_ARCH_I086PM) && !(ACC_ARCH_I086)
-# error "this should not happen"
-#endif
-#if (ACC_ARCH_I086)
-# if (UINT_MAX != ACC_0xffffL)
-# error "this should not happen"
-# endif
-# if (ULONG_MAX != ACC_0xffffffffL)
-# error "this should not happen"
-# endif
-#endif
-#if (ACC_ARCH_I386)
-# if (UINT_MAX != ACC_0xffffL) && defined(__i386_int16__)
-# error "this should not happen"
-# endif
-# if (UINT_MAX != ACC_0xffffffffL) && !defined(__i386_int16__)
-# error "this should not happen"
-# endif
-# if (ULONG_MAX != ACC_0xffffffffL)
-# error "this should not happen"
-# endif
-#endif
-#if !defined(__ACC_MM_OVERRIDE)
-#if (ACC_ARCH_I086)
-#if (UINT_MAX != ACC_0xffffL)
-# error "this should not happen"
-#endif
-#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
-# define ACC_MM_TINY 1
-#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
-# define ACC_MM_HUGE 1
-#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
-# define ACC_MM_SMALL 1
-#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
-# define ACC_MM_MEDIUM 1
-#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
-# define ACC_MM_COMPACT 1
-#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
-# define ACC_MM_LARGE 1
-#elif (ACC_CC_AZTECC)
-# if defined(_LARGE_CODE) && defined(_LARGE_DATA)
-# define ACC_MM_LARGE 1
-# elif defined(_LARGE_CODE)
-# define ACC_MM_MEDIUM 1
-# elif defined(_LARGE_DATA)
-# define ACC_MM_COMPACT 1
-# else
-# define ACC_MM_SMALL 1
-# endif
-#elif (ACC_CC_ZORTECHC && defined(__VCM__))
-# define ACC_MM_LARGE 1
-#else
-# error "unknown memory model"
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
-#define ACC_HAVE_MM_HUGE_PTR 1
-#define ACC_HAVE_MM_HUGE_ARRAY 1
-#if (ACC_MM_TINY)
-# undef ACC_HAVE_MM_HUGE_ARRAY
-#endif
-#if (ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_ZORTECHC)
-# undef ACC_HAVE_MM_HUGE_PTR
-# undef ACC_HAVE_MM_HUGE_ARRAY
-#elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
-# undef ACC_HAVE_MM_HUGE_ARRAY
-#elif (ACC_CC_MSC && defined(_QC))
-# undef ACC_HAVE_MM_HUGE_ARRAY
-# if (_MSC_VER < 600)
-# undef ACC_HAVE_MM_HUGE_PTR
-# endif
-#elif (ACC_CC_TURBOC && (__TURBOC__ < 0x0295))
-# undef ACC_HAVE_MM_HUGE_ARRAY
-#endif
-#if (ACC_ARCH_I086PM) && !(ACC_HAVE_MM_HUGE_PTR)
-# if (ACC_OS_DOS16)
-# error "this should not happen"
-# elif (ACC_CC_ZORTECHC)
-# else
-# error "this should not happen"
-# endif
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
- extern void __near __cdecl _AHSHIFT(void);
-# define ACC_MM_AHSHIFT ((unsigned) _AHSHIFT)
-#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
- extern void __near __cdecl _AHSHIFT(void);
-# define ACC_MM_AHSHIFT ((unsigned) _AHSHIFT)
-#elif (ACC_CC_MSC || ACC_CC_TOPSPEEDC)
- extern void __near __cdecl _AHSHIFT(void);
-# define ACC_MM_AHSHIFT ((unsigned) _AHSHIFT)
-#elif (ACC_CC_TURBOC && (__TURBOC__ >= 0x0295))
- extern void __near __cdecl _AHSHIFT(void);
-# define ACC_MM_AHSHIFT ((unsigned) _AHSHIFT)
-#elif ((ACC_CC_AZTECC || ACC_CC_PACIFICC || ACC_CC_TURBOC) && ACC_OS_DOS16)
-# define ACC_MM_AHSHIFT 12
-#elif (ACC_CC_WATCOMC)
- extern unsigned char _HShift;
-# define ACC_MM_AHSHIFT ((unsigned) _HShift)
-#else
-# error "FIXME - implement ACC_MM_AHSHIFT"
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
-#elif (ACC_ARCH_C166)
-#if !defined(__MODEL__)
-# error "FIXME - C166 __MODEL__"
-#elif ((__MODEL__) == 0)
-# define ACC_MM_SMALL 1
-#elif ((__MODEL__) == 1)
-# define ACC_MM_SMALL 1
-#elif ((__MODEL__) == 2)
-# define ACC_MM_LARGE 1
-#elif ((__MODEL__) == 3)
-# define ACC_MM_TINY 1
-#elif ((__MODEL__) == 4)
-# define ACC_MM_XTINY 1
-#elif ((__MODEL__) == 5)
-# define ACC_MM_XSMALL 1
-#else
-# error "FIXME - C166 __MODEL__"
-#endif
-#elif (ACC_ARCH_MCS251)
-#if !defined(__MODEL__)
-# error "FIXME - MCS251 __MODEL__"
-#elif ((__MODEL__) == 0)
-# define ACC_MM_SMALL 1
-#elif ((__MODEL__) == 2)
-# define ACC_MM_LARGE 1
-#elif ((__MODEL__) == 3)
-# define ACC_MM_TINY 1
-#elif ((__MODEL__) == 4)
-# define ACC_MM_XTINY 1
-#elif ((__MODEL__) == 5)
-# define ACC_MM_XSMALL 1
-#else
-# error "FIXME - MCS251 __MODEL__"
-#endif
-#elif (ACC_ARCH_MCS51)
-#if !defined(__MODEL__)
-# error "FIXME - MCS51 __MODEL__"
-#elif ((__MODEL__) == 1)
-# define ACC_MM_SMALL 1
-#elif ((__MODEL__) == 2)
-# define ACC_MM_LARGE 1
-#elif ((__MODEL__) == 3)
-# define ACC_MM_TINY 1
-#elif ((__MODEL__) == 4)
-# define ACC_MM_XTINY 1
-#elif ((__MODEL__) == 5)
-# define ACC_MM_XSMALL 1
-#else
-# error "FIXME - MCS51 __MODEL__"
-#endif
-#elif (ACC_ARCH_CRAY_PVP)
-# define ACC_MM_PVP 1
-#else
-# define ACC_MM_FLAT 1
-#endif
-#if (ACC_MM_COMPACT)
-# define ACC_INFO_MM "compact"
-#elif (ACC_MM_FLAT)
-# define ACC_INFO_MM "flat"
-#elif (ACC_MM_HUGE)
-# define ACC_INFO_MM "huge"
-#elif (ACC_MM_LARGE)
-# define ACC_INFO_MM "large"
-#elif (ACC_MM_MEDIUM)
-# define ACC_INFO_MM "medium"
-#elif (ACC_MM_PVP)
-# define ACC_INFO_MM "pvp"
-#elif (ACC_MM_SMALL)
-# define ACC_INFO_MM "small"
-#elif (ACC_MM_TINY)
-# define ACC_INFO_MM "tiny"
-#else
-# error "unknown memory model"
-#endif
-#endif
-#if defined(SIZEOF_SHORT)
-# define ACC_SIZEOF_SHORT (SIZEOF_SHORT)
-#endif
-#if defined(SIZEOF_INT)
-# define ACC_SIZEOF_INT (SIZEOF_INT)
-#endif
-#if defined(SIZEOF_LONG)
-# define ACC_SIZEOF_LONG (SIZEOF_LONG)
-#endif
-#if defined(SIZEOF_LONG_LONG)
-# define ACC_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG)
-#endif
-#if defined(SIZEOF___INT16)
-# define ACC_SIZEOF___INT16 (SIZEOF___INT16)
-#endif
-#if defined(SIZEOF___INT32)
-# define ACC_SIZEOF___INT32 (SIZEOF___INT32)
-#endif
-#if defined(SIZEOF___INT64)
-# define ACC_SIZEOF___INT64 (SIZEOF___INT64)
-#endif
-#if defined(SIZEOF_VOID_P)
-# define ACC_SIZEOF_VOID_P (SIZEOF_VOID_P)
-#endif
-#if defined(SIZEOF_SIZE_T)
-# define ACC_SIZEOF_SIZE_T (SIZEOF_SIZE_T)
-#endif
-#if defined(SIZEOF_PTRDIFF_T)
-# define ACC_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T)
-#endif
-#define __ACC_LSR(x,b) (((x)+0ul) >> (b))
-#if !defined(ACC_SIZEOF_SHORT)
-# if (ACC_ARCH_CRAY_PVP)
-# define ACC_SIZEOF_SHORT 8
-# elif (USHRT_MAX == ACC_0xffffL)
-# define ACC_SIZEOF_SHORT 2
-# elif (__ACC_LSR(USHRT_MAX,7) == 1)
-# define ACC_SIZEOF_SHORT 1
-# elif (__ACC_LSR(USHRT_MAX,15) == 1)
-# define ACC_SIZEOF_SHORT 2
-# elif (__ACC_LSR(USHRT_MAX,31) == 1)
-# define ACC_SIZEOF_SHORT 4
-# elif (__ACC_LSR(USHRT_MAX,63) == 1)
-# define ACC_SIZEOF_SHORT 8
-# elif (__ACC_LSR(USHRT_MAX,127) == 1)
-# define ACC_SIZEOF_SHORT 16
-# else
-# error "ACC_SIZEOF_SHORT"
-# endif
-#endif
-#if !defined(ACC_SIZEOF_INT)
-# if (ACC_ARCH_CRAY_PVP)
-# define ACC_SIZEOF_INT 8
-# elif (UINT_MAX == ACC_0xffffL)
-# define ACC_SIZEOF_INT 2
-# elif (UINT_MAX == ACC_0xffffffffL)
-# define ACC_SIZEOF_INT 4
-# elif (__ACC_LSR(UINT_MAX,7) == 1)
-# define ACC_SIZEOF_INT 1
-# elif (__ACC_LSR(UINT_MAX,15) == 1)
-# define ACC_SIZEOF_INT 2
-# elif (__ACC_LSR(UINT_MAX,31) == 1)
-# define ACC_SIZEOF_INT 4
-# elif (__ACC_LSR(UINT_MAX,63) == 1)
-# define ACC_SIZEOF_INT 8
-# elif (__ACC_LSR(UINT_MAX,127) == 1)
-# define ACC_SIZEOF_INT 16
-# else
-# error "ACC_SIZEOF_INT"
-# endif
-#endif
-#if !defined(ACC_SIZEOF_LONG)
-# if (ULONG_MAX == ACC_0xffffffffL)
-# define ACC_SIZEOF_LONG 4
-# elif (__ACC_LSR(ULONG_MAX,7) == 1)
-# define ACC_SIZEOF_LONG 1
-# elif (__ACC_LSR(ULONG_MAX,15) == 1)
-# define ACC_SIZEOF_LONG 2
-# elif (__ACC_LSR(ULONG_MAX,31) == 1)
-# define ACC_SIZEOF_LONG 4
-# elif (__ACC_LSR(ULONG_MAX,63) == 1)
-# define ACC_SIZEOF_LONG 8
-# elif (__ACC_LSR(ULONG_MAX,127) == 1)
-# define ACC_SIZEOF_LONG 16
-# else
-# error "ACC_SIZEOF_LONG"
-# endif
-#endif
-#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
-#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
-# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
-# if (ACC_CC_GNUC >= 0x030300ul)
-# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
-# define ACC_SIZEOF_LONG_LONG ACC_SIZEOF_LONG
-# elif (__ACC_LSR(__LONG_LONG_MAX__,30) == 1)
-# define ACC_SIZEOF_LONG_LONG 4
-# endif
-# endif
-# endif
-#endif
-#endif
-#if !defined(ACC_SIZEOF_LONG_LONG) && !defined(ACC_SIZEOF___INT64)
-#if (ACC_SIZEOF_LONG > 0 && ACC_SIZEOF_LONG < 8)
-#if (ACC_ARCH_I086 && ACC_CC_DMC)
-#elif (ACC_CC_CILLY) && defined(__GNUC__)
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define ACC_SIZEOF_LONG_LONG 8
-#elif ((ACC_OS_WIN32 || ACC_OS_WIN64 || defined(_WIN32)) && ACC_CC_MSC && (_MSC_VER >= 1400))
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_OS_WIN64 || defined(_WIN64))
-# define ACC_SIZEOF___INT64 8
-#elif (ACC_ARCH_I386 && (ACC_CC_DMC))
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_ARCH_I386 && (ACC_CC_SYMANTECC && (__SC__ >= 0x700)))
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_ARCH_I386 && (ACC_CC_INTELC && defined(__linux__)))
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_ARCH_I386 && (ACC_CC_MWERKS || ACC_CC_PELLESC || ACC_CC_PGI || ACC_CC_SUNPROC))
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_ARCH_I386 && (ACC_CC_INTELC || ACC_CC_MSC))
-# define ACC_SIZEOF___INT64 8
-#elif ((ACC_OS_WIN32 || defined(_WIN32)) && (ACC_CC_MSC))
-# define ACC_SIZEOF___INT64 8
-#elif (ACC_ARCH_I386 && (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
-# define ACC_SIZEOF___INT64 8
-#elif (ACC_ARCH_I386 && (ACC_CC_WATCOMC && (__WATCOMC__ >= 1100)))
-# define ACC_SIZEOF___INT64 8
-#elif (ACC_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
-# define ACC_SIZEOF___INT64 8
-#elif (ACC_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define ACC_SIZEOF_LONG_LONG 8
-#elif (ACC_CC_SDCC) && (ACC_SIZEOF_INT == 2)
-#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define ACC_SIZEOF_LONG_LONG 8
-#endif
-#endif
-#endif
-#if defined(__cplusplus) && (ACC_CC_GNUC)
-# if (ACC_CC_GNUC < 0x020800ul)
-# undef ACC_SIZEOF_LONG_LONG
-# endif
-#endif
-#if (ACC_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
-# undef ACC_SIZEOF_LONG_LONG
-#endif
-#if !defined(ACC_SIZEOF_VOID_P)
-#if (ACC_ARCH_I086)
-# define __ACC_WORDSIZE 2
-# if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
-# define ACC_SIZEOF_VOID_P 2
-# elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
-# define ACC_SIZEOF_VOID_P 4
-# else
-# error "ACC_MM"
-# endif
-#elif (ACC_ARCH_AVR || ACC_ARCH_Z80)
-# define __ACC_WORDSIZE 1
-# define ACC_SIZEOF_VOID_P 2
-#elif (ACC_ARCH_C166 || ACC_ARCH_MCS51 || ACC_ARCH_MCS251 || ACC_ARCH_MSP430)
-# define ACC_SIZEOF_VOID_P 2
-#elif (ACC_ARCH_H8300)
-# if defined(__NORMAL_MODE__)
-# define __ACC_WORDSIZE 4
-# define ACC_SIZEOF_VOID_P 2
-# elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
-# define __ACC_WORDSIZE 4
-# define ACC_SIZEOF_VOID_P 4
-# else
-# define __ACC_WORDSIZE 2
-# define ACC_SIZEOF_VOID_P 2
-# endif
-# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x040000ul)) && (ACC_SIZEOF_INT == 4)
-# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_INT
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_INT
-# endif
-#elif (ACC_ARCH_M16C)
-# define __ACC_WORDSIZE 2
-# if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
-# define ACC_SIZEOF_VOID_P 4
-# else
-# define ACC_SIZEOF_VOID_P 2
-# endif
-#elif (ACC_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
-# define __ACC_WORDSIZE 8
-# define ACC_SIZEOF_VOID_P 4
-#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
-# define __ACC_WORDSIZE 8
-# define ACC_SIZEOF_VOID_P 8
-#elif (ACC_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
-# define ACC_SIZEOF_VOID_P ACC_SIZEOF_LONG
-# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_LONG
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_LONG
-#elif (ACC_OS_OS400 || defined(__OS400__))
-# define __ACC_WORDSIZE ACC_SIZEOF_LONG
-# define ACC_SIZEOF_VOID_P 16
-# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_LONG
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_LONG
-#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
-# define ACC_SIZEOF_VOID_P 8
-# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_LONG
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_LONG
-#elif (ACC_ARCH_SPU)
-# if 0
-# define __ACC_WORDSIZE 16
-# endif
-# define ACC_SIZEOF_VOID_P 4
-#else
-# define ACC_SIZEOF_VOID_P ACC_SIZEOF_LONG
-#endif
-#endif
-#if !defined(ACC_WORDSIZE)
-# if defined(__ACC_WORDSIZE)
-# define ACC_WORDSIZE __ACC_WORDSIZE
-# else
-# define ACC_WORDSIZE ACC_SIZEOF_VOID_P
-# endif
-#endif
-#if !defined(ACC_SIZEOF_SIZE_T)
-#if (ACC_ARCH_I086 || ACC_ARCH_M16C)
-# define ACC_SIZEOF_SIZE_T 2
-#else
-# define ACC_SIZEOF_SIZE_T ACC_SIZEOF_VOID_P
-#endif
-#endif
-#if !defined(ACC_SIZEOF_PTRDIFF_T)
-#if (ACC_ARCH_I086)
-# if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM || ACC_MM_HUGE)
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_VOID_P
-# elif (ACC_MM_COMPACT || ACC_MM_LARGE)
-# if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
-# define ACC_SIZEOF_PTRDIFF_T 4
-# else
-# define ACC_SIZEOF_PTRDIFF_T 2
-# endif
-# else
-# error "ACC_MM"
-# endif
-#else
-# define ACC_SIZEOF_PTRDIFF_T ACC_SIZEOF_SIZE_T
-#endif
-#endif
-#if (ACC_ABI_NEUTRAL_ENDIAN)
-# undef ACC_ABI_BIG_ENDIAN
-# undef ACC_ABI_LITTLE_ENDIAN
-#elif !(ACC_ABI_BIG_ENDIAN) && !(ACC_ABI_LITTLE_ENDIAN)
-#if (ACC_ARCH_ALPHA) && (ACC_ARCH_CRAY_MPP)
-# define ACC_ABI_BIG_ENDIAN 1
-#elif (ACC_ARCH_IA64) && (ACC_OS_POSIX_LINUX || ACC_OS_WIN64)
-# define ACC_ABI_LITTLE_ENDIAN 1
-#elif (ACC_ARCH_ALPHA || ACC_ARCH_AMD64 || ACC_ARCH_BLACKFIN || ACC_ARCH_CRIS || ACC_ARCH_I086 || ACC_ARCH_I386 || ACC_ARCH_MSP430)
-# define ACC_ABI_LITTLE_ENDIAN 1
-#elif (ACC_ARCH_AVR32 || ACC_ARCH_M68K || ACC_ARCH_S390)
-# define ACC_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
-# if (__LITTLE_ENDIAN__ == 1)
-# define ACC_ABI_LITTLE_ENDIAN 1
-# else
-# define ACC_ABI_BIG_ENDIAN 1
-# endif
-#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
-# define ACC_ABI_BIG_ENDIAN 1
-#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
-# define ACC_ABI_LITTLE_ENDIAN 1
-#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
-# define ACC_ABI_BIG_ENDIAN 1
-#elif 1 && (ACC_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
-# define ACC_ABI_LITTLE_ENDIAN 1
-#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
-# define ACC_ABI_BIG_ENDIAN 1
-#elif 1 && (ACC_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
-# define ACC_ABI_LITTLE_ENDIAN 1
-#endif
-#endif
-#if (ACC_ABI_BIG_ENDIAN) && (ACC_ABI_LITTLE_ENDIAN)
-# error "this should not happen"
-#endif
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_INFO_ABI_ENDIAN "be"
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_INFO_ABI_ENDIAN "le"
-#elif (ACC_ABI_NEUTRAL_ENDIAN)
-# define ACC_INFO_ABI_ENDIAN "neutral"
-#endif
-#if (ACC_SIZEOF_INT == 1 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
-# define ACC_ABI_I8LP16 1
-# define ACC_INFO_ABI_PM "i8lp16"
-#elif (ACC_SIZEOF_INT == 2 && ACC_SIZEOF_LONG == 2 && ACC_SIZEOF_VOID_P == 2)
-# define ACC_ABI_ILP16 1
-# define ACC_INFO_ABI_PM "ilp16"
-#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 4)
-# define ACC_ABI_ILP32 1
-# define ACC_INFO_ABI_PM "ilp32"
-#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 4 && ACC_SIZEOF_VOID_P == 8 && ACC_SIZEOF_SIZE_T == 8)
-# define ACC_ABI_LLP64 1
-# define ACC_INFO_ABI_PM "llp64"
-#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
-# define ACC_ABI_LP64 1
-# define ACC_INFO_ABI_PM "lp64"
-#elif (ACC_SIZEOF_INT == 8 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 8)
-# define ACC_ABI_ILP64 1
-# define ACC_INFO_ABI_PM "ilp64"
-#elif (ACC_SIZEOF_INT == 4 && ACC_SIZEOF_LONG == 8 && ACC_SIZEOF_VOID_P == 4)
-# define ACC_ABI_IP32L64 1
-# define ACC_INFO_ABI_PM "ip32l64"
-#endif
-#if !defined(__ACC_LIBC_OVERRIDE)
-#if (ACC_LIBC_NAKED)
-# define ACC_INFO_LIBC "naked"
-#elif (ACC_LIBC_FREESTANDING)
-# define ACC_INFO_LIBC "freestanding"
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-# define ACC_INFO_LIBC "mfreestanding"
-#elif (ACC_LIBC_ISOC90)
-# define ACC_INFO_LIBC "isoc90"
-#elif (ACC_LIBC_ISOC99)
-# define ACC_INFO_LIBC "isoc99"
-#elif defined(__dietlibc__)
-# define ACC_LIBC_DIETLIBC 1
-# define ACC_INFO_LIBC "dietlibc"
-#elif defined(_NEWLIB_VERSION)
-# define ACC_LIBC_NEWLIB 1
-# define ACC_INFO_LIBC "newlib"
-#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
-# if defined(__UCLIBC_SUBLEVEL__)
-# define ACC_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
-# else
-# define ACC_LIBC_UCLIBC 0x00090bL
-# endif
-# define ACC_INFO_LIBC "uclibc"
-#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
-# define ACC_LIBC_GLIBC (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
-# define ACC_INFO_LIBC "glibc"
-#elif (ACC_CC_MWERKS) && defined(__MSL__)
-# define ACC_LIBC_MSL __MSL__
-# define ACC_INFO_LIBC "msl"
-#elif 1 && defined(__IAR_SYSTEMS_ICC__)
-# define ACC_LIBC_ISOC90 1
-# define ACC_INFO_LIBC "isoc90"
-#else
-# define ACC_LIBC_DEFAULT 1
-# define ACC_INFO_LIBC "default"
-#endif
-#endif
-#if !defined(__acc_gnuc_extension__)
-#if (ACC_CC_GNUC >= 0x020800ul)
-# define __acc_gnuc_extension__ __extension__
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_gnuc_extension__ __extension__
-#else
-# define __acc_gnuc_extension__ /*empty*/
-#endif
-#endif
-#if !defined(__acc_ua_volatile)
-# define __acc_ua_volatile volatile
-#endif
-#if !defined(__acc_alignof)
-#if (ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
-# define __acc_alignof(e) __alignof__(e)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 700))
-# define __acc_alignof(e) __alignof__(e)
-#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
-# define __acc_alignof(e) __alignof(e)
-#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC >= 0x5100))
-# define __acc_alignof(e) __alignof__(e)
-#endif
-#endif
-#if defined(__acc_alignof)
-# define __acc_HAVE_alignof 1
-#endif
-#if !defined(__acc_constructor)
-#if (ACC_CC_GNUC >= 0x030400ul)
-# define __acc_constructor __attribute__((__constructor__,__used__))
-#elif (ACC_CC_GNUC >= 0x020700ul)
-# define __acc_constructor __attribute__((__constructor__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_constructor __attribute__((__constructor__))
-#endif
-#endif
-#if defined(__acc_constructor)
-# define __acc_HAVE_constructor 1
-#endif
-#if !defined(__acc_destructor)
-#if (ACC_CC_GNUC >= 0x030400ul)
-# define __acc_destructor __attribute__((__destructor__,__used__))
-#elif (ACC_CC_GNUC >= 0x020700ul)
-# define __acc_destructor __attribute__((__destructor__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_destructor __attribute__((__destructor__))
-#endif
-#endif
-#if defined(__acc_destructor)
-# define __acc_HAVE_destructor 1
-#endif
-#if (__acc_HAVE_destructor) && !(__acc_HAVE_constructor)
-# error "this should not happen"
-#endif
-#if !defined(__acc_inline)
-#if (ACC_CC_TURBOC && (__TURBOC__ <= 0x0295))
-#elif defined(__cplusplus)
-# define __acc_inline inline
-#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
-# define __acc_inline __inline
-#elif (ACC_CC_CILLY || ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE || ACC_CC_PGI)
-# define __acc_inline __inline__
-#elif (ACC_CC_DMC)
-# define __acc_inline __inline
-#elif (ACC_CC_INTELC)
-# define __acc_inline __inline
-#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x2405))
-# define __acc_inline __inline
-#elif (ACC_CC_MSC && (_MSC_VER >= 900))
-# define __acc_inline __inline
-#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC >= 0x5100))
-# define __acc_inline __inline__
-#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-# define __acc_inline inline
-#endif
-#endif
-#if defined(__acc_inline)
-# define __acc_HAVE_inline 1
-#else
-# define __acc_inline /*empty*/
-#endif
-#if !defined(__acc_forceinline)
-#if (ACC_CC_GNUC >= 0x030200ul)
-# define __acc_forceinline __inline__ __attribute__((__always_inline__))
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && ACC_CC_SYNTAX_MSC)
-# define __acc_forceinline __forceinline
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800) && ACC_CC_SYNTAX_GNUC)
-# define __acc_forceinline __inline__ __attribute__((__always_inline__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_forceinline __inline__ __attribute__((__always_inline__))
-#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
-# define __acc_forceinline __forceinline
-#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC >= 0x5100))
-# define __acc_forceinline __inline__ __attribute__((__always_inline__))
-#endif
-#endif
-#if defined(__acc_forceinline)
-# define __acc_HAVE_forceinline 1
-#else
-# define __acc_forceinline /*empty*/
-#endif
-#if !defined(__acc_noinline)
-#if 1 && (ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x040000ul) && (ACC_CC_GNUC < 0x040003ul)
-# define __acc_noinline __attribute__((__noinline__,__used__))
-#elif (ACC_CC_GNUC >= 0x030200ul)
-# define __acc_noinline __attribute__((__noinline__))
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 600) && ACC_CC_SYNTAX_MSC)
-# define __acc_noinline __declspec(noinline)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800) && ACC_CC_SYNTAX_GNUC)
-# define __acc_noinline __attribute__((__noinline__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_noinline __attribute__((__noinline__))
-#elif (ACC_CC_MSC && (_MSC_VER >= 1300))
-# define __acc_noinline __declspec(noinline)
-#elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x3200) && (ACC_OS_WIN32 || ACC_OS_WIN64))
-# if defined(__cplusplus)
-# else
-# define __acc_noinline __declspec(noinline)
-# endif
-#elif (ACC_CC_SUNPROC && (ACC_CC_SUNPROC >= 0x5100))
-# define __acc_noinline __attribute__((__noinline__))
-#endif
-#endif
-#if defined(__acc_noinline)
-# define __acc_HAVE_noinline 1
-#else
-# define __acc_noinline /*empty*/
-#endif
-#if (__acc_HAVE_forceinline || __acc_HAVE_noinline) && !(__acc_HAVE_inline)
-# error "this should not happen"
-#endif
-#if !defined(__acc_noreturn)
-#if (ACC_CC_GNUC >= 0x020700ul)
-# define __acc_noreturn __attribute__((__noreturn__))
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && ACC_CC_SYNTAX_MSC)
-# define __acc_noreturn __declspec(noreturn)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 600) && ACC_CC_SYNTAX_GNUC)
-# define __acc_noreturn __attribute__((__noreturn__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_noreturn __attribute__((__noreturn__))
-#elif (ACC_CC_MSC && (_MSC_VER >= 1200))
-# define __acc_noreturn __declspec(noreturn)
-#endif
-#endif
-#if defined(__acc_noreturn)
-# define __acc_HAVE_noreturn 1
-#else
-# define __acc_noreturn /*empty*/
-#endif
-#if !defined(__acc_nothrow)
-#if (ACC_CC_GNUC >= 0x030300ul)
-# define __acc_nothrow __attribute__((__nothrow__))
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 450) && ACC_CC_SYNTAX_MSC) && defined(__cplusplus)
-# define __acc_nothrow __declspec(nothrow)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 900) && ACC_CC_SYNTAX_GNUC)
-# define __acc_nothrow __attribute__((__nothrow__))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_nothrow __attribute__((__nothrow__))
-#elif (ACC_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
-# define __acc_nothrow __declspec(nothrow)
-#endif
-#endif
-#if defined(__acc_nothrow)
-# define __acc_HAVE_nothrow 1
-#else
-# define __acc_nothrow /*empty*/
-#endif
-#if !defined(__acc_restrict)
-#if (ACC_CC_GNUC >= 0x030400ul)
-# define __acc_restrict __restrict__
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 600) && ACC_CC_SYNTAX_GNUC)
-# define __acc_restrict __restrict__
-#elif (ACC_CC_CLANG || ACC_CC_LLVM)
-# define __acc_restrict __restrict__
-#elif (ACC_CC_MSC && (_MSC_VER >= 1400))
-# define __acc_restrict __restrict
-#endif
-#endif
-#if defined(__acc_restrict)
-# define __acc_HAVE_restrict 1
-#else
-# define __acc_restrict /*empty*/
-#endif
-#if !defined(__acc_likely) && !defined(__acc_unlikely)
-#if (ACC_CC_GNUC >= 0x030200ul)
-# define __acc_likely(e) (__builtin_expect(!!(e),1))
-# define __acc_unlikely(e) (__builtin_expect(!!(e),0))
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER >= 800))
-# define __acc_likely(e) (__builtin_expect(!!(e),1))
-# define __acc_unlikely(e) (__builtin_expect(!!(e),0))
-#elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __acc_likely(e) (__builtin_expect(!!(e),1))
-# define __acc_unlikely(e) (__builtin_expect(!!(e),0))
-#endif
-#endif
-#if defined(__acc_likely)
-# define __acc_HAVE_likely 1
-#else
-# define __acc_likely(e) (e)
-#endif
-#if defined(__acc_unlikely)
-# define __acc_HAVE_unlikely 1
-#else
-# define __acc_unlikely(e) (e)
-#endif
-#if !defined(ACC_UNUSED)
-# if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define ACC_UNUSED(var) ((void) &var)
-# elif (ACC_CC_BORLANDC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PELLESC || ACC_CC_TURBOC)
-# define ACC_UNUSED(var) if (&var) ; else
-# elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define ACC_UNUSED(var) ((void) var)
-# elif (ACC_CC_MSC && (_MSC_VER < 900))
-# define ACC_UNUSED(var) if (&var) ; else
-# elif (ACC_CC_KEILC)
-# define ACC_UNUSED(var) {extern int __acc_unused[1-2*!(sizeof(var)>0)];}
-# elif (ACC_CC_PACIFICC)
-# define ACC_UNUSED(var) ((void) sizeof(var))
-# elif (ACC_CC_WATCOMC) && defined(__cplusplus)
-# define ACC_UNUSED(var) ((void) var)
-# else
-# define ACC_UNUSED(var) ((void) &var)
-# endif
-#endif
-#if !defined(ACC_UNUSED_FUNC)
-# if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
-# define ACC_UNUSED_FUNC(func) ((void) func)
-# elif (ACC_CC_BORLANDC || ACC_CC_NDPC || ACC_CC_TURBOC)
-# define ACC_UNUSED_FUNC(func) if (func) ; else
-# elif (ACC_CC_CLANG || ACC_CC_LLVM)
-# define ACC_UNUSED_FUNC(func) ((void) &func)
-# elif (ACC_CC_MSC && (_MSC_VER < 900))
-# define ACC_UNUSED_FUNC(func) if (func) ; else
-# elif (ACC_CC_MSC)
-# define ACC_UNUSED_FUNC(func) ((void) &func)
-# elif (ACC_CC_KEILC || ACC_CC_PELLESC)
-# define ACC_UNUSED_FUNC(func) {extern int __acc_unused[1-2*!(sizeof((int)func)>0)];}
-# else
-# define ACC_UNUSED_FUNC(func) ((void) func)
-# endif
-#endif
-#if !defined(ACC_UNUSED_LABEL)
-# if (ACC_CC_WATCOMC) && defined(__cplusplus)
-# define ACC_UNUSED_LABEL(l) switch(0) case 1:goto l
-# elif (ACC_CC_CLANG || ACC_CC_INTELC || ACC_CC_WATCOMC)
-# define ACC_UNUSED_LABEL(l) if (0) goto l
-# else
-# define ACC_UNUSED_LABEL(l) switch(0) case 1:goto l
-# endif
-#endif
-#if !defined(ACC_DEFINE_UNINITIALIZED_VAR)
-# if 0
-# define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
-# elif 0 && (ACC_CC_GNUC)
-# define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
-# else
-# define ACC_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
-# endif
-#endif
-#if !defined(ACC_UNCONST_CAST)
-# if 0 && defined(__cplusplus)
-# define ACC_UNCONST_CAST(t,e) (const_cast<t> (e))
-# elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define ACC_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((acc_uintptr_t) ((const void *) (e))))))
-# else
-# define ACC_UNCONST_CAST(t,e) ((t) ((void *) ((char *) ((const void *) (e)))))
-# endif
-#endif
-#if !defined(ACC_COMPILE_TIME_ASSERT_HEADER)
-# if (ACC_CC_AZTECC || ACC_CC_ZORTECHC)
-# define ACC_COMPILE_TIME_ASSERT_HEADER(e) extern int __acc_cta[1-!(e)];
-# elif (ACC_CC_DMC || ACC_CC_SYMANTECC)
-# define ACC_COMPILE_TIME_ASSERT_HEADER(e) extern int __acc_cta[1u-2*!(e)];
-# elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
-# define ACC_COMPILE_TIME_ASSERT_HEADER(e) extern int __acc_cta[1-!(e)];
-# else
-# define ACC_COMPILE_TIME_ASSERT_HEADER(e) extern int __acc_cta[1-2*!(e)];
-# endif
-#endif
-#if !defined(ACC_COMPILE_TIME_ASSERT)
-# if (ACC_CC_AZTECC)
-# define ACC_COMPILE_TIME_ASSERT(e) {typedef int __acc_cta_t[1-!(e)];}
-# elif (ACC_CC_DMC || ACC_CC_PACIFICC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
-# define ACC_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# elif (ACC_CC_MSC && (_MSC_VER < 900))
-# define ACC_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# elif (ACC_CC_TURBOC && (__TURBOC__ == 0x0295))
-# define ACC_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break;
-# else
-# define ACC_COMPILE_TIME_ASSERT(e) {typedef int __acc_cta_t[1-2*!(e)];}
-# endif
-#endif
-#if (ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
-# if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC)
-# elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
-# define __acc_cdecl __cdecl
-# define __acc_cdecl_atexit /*empty*/
-# define __acc_cdecl_main __cdecl
-# if (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
-# define __acc_cdecl_qsort __pascal
-# elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
-# define __acc_cdecl_qsort _stdcall
-# else
-# define __acc_cdecl_qsort __cdecl
-# endif
-# elif (ACC_CC_WATCOMC)
-# define __acc_cdecl __cdecl
-# else
-# define __acc_cdecl __cdecl
-# define __acc_cdecl_atexit __cdecl
-# define __acc_cdecl_main __cdecl
-# define __acc_cdecl_qsort __cdecl
-# endif
-# if (ACC_CC_GNUC || ACC_CC_HIGHC || ACC_CC_NDPC || ACC_CC_PACIFICC || ACC_CC_WATCOMC)
-# elif (ACC_OS_OS2 && (ACC_CC_DMC || ACC_CC_SYMANTECC))
-# define __acc_cdecl_sighandler __pascal
-# elif (ACC_OS_OS2 && (ACC_CC_ZORTECHC))
-# define __acc_cdecl_sighandler _stdcall
-# elif (ACC_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
-# define __acc_cdecl_sighandler __clrcall
-# elif (ACC_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
-# if defined(_DLL)
-# define __acc_cdecl_sighandler _far _cdecl _loadds
-# elif defined(_MT)
-# define __acc_cdecl_sighandler _far _cdecl
-# else
-# define __acc_cdecl_sighandler _cdecl
-# endif
-# else
-# define __acc_cdecl_sighandler __cdecl
-# endif
-#elif (ACC_ARCH_I386) && (ACC_CC_WATCOMC)
-# define __acc_cdecl __cdecl
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
-# define __acc_cdecl cdecl
-#endif
-#if !defined(__acc_cdecl)
-# define __acc_cdecl /*empty*/
-#endif
-#if !defined(__acc_cdecl_atexit)
-# define __acc_cdecl_atexit /*empty*/
-#endif
-#if !defined(__acc_cdecl_main)
-# define __acc_cdecl_main /*empty*/
-#endif
-#if !defined(__acc_cdecl_qsort)
-# define __acc_cdecl_qsort /*empty*/
-#endif
-#if !defined(__acc_cdecl_sighandler)
-# define __acc_cdecl_sighandler /*empty*/
-#endif
-#if !defined(__acc_cdecl_va)
-# define __acc_cdecl_va __acc_cdecl
-#endif
-#if !(ACC_CFG_NO_WINDOWS_H)
-#if (ACC_OS_CYGWIN || (ACC_OS_EMX && defined(__RSXNT__)) || ACC_OS_WIN32 || ACC_OS_WIN64)
-# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
-# elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
-# elif ((ACC_OS_CYGWIN || defined(__MINGW32__)) && (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025f00ul)))
-# else
-# define ACC_HAVE_WINDOWS_H 1
-# endif
-#endif
-#endif
-#if (ACC_ARCH_ALPHA)
-# define ACC_OPT_AVOID_UINT_INDEX 1
-# define ACC_OPT_AVOID_SHORT 1
-# define ACC_OPT_AVOID_USHORT 1
-#elif (ACC_ARCH_AMD64)
-# define ACC_OPT_AVOID_INT_INDEX 1
-# define ACC_OPT_AVOID_UINT_INDEX 1
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-# define ACC_OPT_UNALIGNED64 1
-#elif (ACC_ARCH_ARM && ACC_ARCH_ARM_THUMB)
-#elif (ACC_ARCH_ARM)
-# define ACC_OPT_AVOID_SHORT 1
-# define ACC_OPT_AVOID_USHORT 1
-#elif (ACC_ARCH_CRIS)
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-#elif (ACC_ARCH_I386)
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-#elif (ACC_ARCH_IA64)
-# define ACC_OPT_AVOID_INT_INDEX 1
-# define ACC_OPT_AVOID_UINT_INDEX 1
-# define ACC_OPT_PREFER_POSTINC 1
-#elif (ACC_ARCH_M68K)
-# define ACC_OPT_PREFER_POSTINC 1
-# define ACC_OPT_PREFER_PREDEC 1
-# if defined(__mc68020__) && !defined(__mcoldfire__)
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-# endif
-#elif (ACC_ARCH_MIPS)
-# define ACC_OPT_AVOID_UINT_INDEX 1
-#elif (ACC_ARCH_POWERPC)
-# define ACC_OPT_PREFER_PREINC 1
-# define ACC_OPT_PREFER_PREDEC 1
-# if (ACC_ABI_BIG_ENDIAN)
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-# endif
-#elif (ACC_ARCH_S390)
-# define ACC_OPT_UNALIGNED16 1
-# define ACC_OPT_UNALIGNED32 1
-# if (ACC_SIZEOF_SIZE_T == 8)
-# define ACC_OPT_UNALIGNED64 1
-# endif
-#elif (ACC_ARCH_SH)
-# define ACC_OPT_PREFER_POSTINC 1
-# define ACC_OPT_PREFER_PREDEC 1
-#endif
-#ifndef ACC_CFG_NO_INLINE_ASM
-#if (ACC_CC_LLVM)
-# define ACC_CFG_NO_INLINE_ASM 1
-#endif
-#endif
-#ifndef ACC_CFG_NO_UNALIGNED
-#if (ACC_ABI_NEUTRAL_ENDIAN) || (ACC_ARCH_GENERIC)
-# define ACC_CFG_NO_UNALIGNED 1
-#endif
-#endif
-#if (ACC_CFG_NO_UNALIGNED)
-# undef ACC_OPT_UNALIGNED16
-# undef ACC_OPT_UNALIGNED32
-# undef ACC_OPT_UNALIGNED64
-#endif
-#if (ACC_CFG_NO_INLINE_ASM)
-#elif (ACC_ARCH_I386 && (ACC_OS_DOS32 || ACC_OS_WIN32) && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
-# define ACC_ASM_SYNTAX_MSC 1
-#elif (ACC_OS_WIN64 && (ACC_CC_DMC || ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC))
-#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC == 0x011f00ul))
-#elif (ACC_ARCH_I386 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
-# define ACC_ASM_SYNTAX_GNUC 1
-#elif (ACC_ARCH_AMD64 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE))
-# define ACC_ASM_SYNTAX_GNUC 1
-#endif
-#if (ACC_ASM_SYNTAX_GNUC)
-#if (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
-# define __ACC_ASM_CLOBBER "ax"
-#elif (ACC_CC_INTELC)
-# define __ACC_ASM_CLOBBER "memory"
-#else
-# define __ACC_ASM_CLOBBER "cc", "memory"
-#endif
-#endif
-#if defined(__ACC_INFOSTR_MM)
-#elif (ACC_MM_FLAT) && (defined(__ACC_INFOSTR_PM) || defined(ACC_INFO_ABI_PM))
-# define __ACC_INFOSTR_MM ""
-#elif defined(ACC_INFO_MM)
-# define __ACC_INFOSTR_MM "." ACC_INFO_MM
-#else
-# define __ACC_INFOSTR_MM ""
-#endif
-#if defined(__ACC_INFOSTR_PM)
-#elif defined(ACC_INFO_ABI_PM)
-# define __ACC_INFOSTR_PM "." ACC_INFO_ABI_PM
-#else
-# define __ACC_INFOSTR_PM ""
-#endif
-#if defined(__ACC_INFOSTR_ENDIAN)
-#elif defined(ACC_INFO_ABI_ENDIAN)
-# define __ACC_INFOSTR_ENDIAN "." ACC_INFO_ABI_ENDIAN
-#else
-# define __ACC_INFOSTR_ENDIAN ""
-#endif
-#if defined(__ACC_INFOSTR_OSNAME)
-#elif defined(ACC_INFO_OS_CONSOLE)
-# define __ACC_INFOSTR_OSNAME ACC_INFO_OS "." ACC_INFO_OS_CONSOLE
-#elif defined(ACC_INFO_OS_POSIX)
-# define __ACC_INFOSTR_OSNAME ACC_INFO_OS "." ACC_INFO_OS_POSIX
-#else
-# define __ACC_INFOSTR_OSNAME ACC_INFO_OS
-#endif
-#if defined(__ACC_INFOSTR_LIBC)
-#elif defined(ACC_INFO_LIBC)
-# define __ACC_INFOSTR_LIBC "." ACC_INFO_LIBC
-#else
-# define __ACC_INFOSTR_LIBC ""
-#endif
-#if defined(__ACC_INFOSTR_CCVER)
-#elif defined(ACC_INFO_CCVER)
-# define __ACC_INFOSTR_CCVER " " ACC_INFO_CCVER
-#else
-# define __ACC_INFOSTR_CCVER ""
-#endif
-#define ACC_INFO_STRING \
- ACC_INFO_ARCH __ACC_INFOSTR_MM __ACC_INFOSTR_PM __ACC_INFOSTR_ENDIAN \
- " " __ACC_INFOSTR_OSNAME __ACC_INFOSTR_LIBC " " ACC_INFO_CC __ACC_INFOSTR_CCVER
-#if (ACC_CFG_NO_CONFIG_HEADER)
-#elif defined(ACC_CFG_CONFIG_HEADER)
-#else
-#if !(ACC_CFG_AUTO_NO_HEADERS)
-#if (ACC_LIBC_NAKED)
-#elif (ACC_LIBC_FREESTANDING)
-# define HAVE_LIMITS_H 1
-# define HAVE_STDARG_H 1
-# define HAVE_STDDEF_H 1
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-# define HAVE_LIMITS_H 1
-# define HAVE_SETJMP_H 1
-# define HAVE_STDARG_H 1
-# define HAVE_STDDEF_H 1
-# define HAVE_STDIO_H 1
-# define HAVE_STRING_H 1
-#else
-#define STDC_HEADERS 1
-#define HAVE_ASSERT_H 1
-#define HAVE_CTYPE_H 1
-#define HAVE_DIRENT_H 1
-#define HAVE_ERRNO_H 1
-#define HAVE_FCNTL_H 1
-#define HAVE_FLOAT_H 1
-#define HAVE_LIMITS_H 1
-#define HAVE_MALLOC_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_SETJMP_H 1
-#define HAVE_SIGNAL_H 1
-#define HAVE_STDARG_H 1
-#define HAVE_STDDEF_H 1
-#define HAVE_STDIO_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_TIME_H 1
-#define HAVE_UNISTD_H 1
-#define HAVE_UTIME_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_SYS_TIME_H 1
-#define HAVE_SYS_TYPES_H 1
-#if (ACC_OS_POSIX)
-# if (ACC_OS_POSIX_AIX)
-# define HAVE_SYS_RESOURCE_H 1
-# elif (ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_MACOSX || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD)
-# define HAVE_STRINGS_H 1
-# undef HAVE_MALLOC_H
-# elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX)
-# define HAVE_ALLOCA_H 1
-# elif (ACC_OS_POSIX_MACOSX && ACC_LIBC_MSL)
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-# elif (ACC_OS_POSIX_SOLARIS || ACC_OS_POSIX_SUNOS)
-# define HAVE_ALLOCA_H 1
-# endif
-# if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
-# define HAVE_STRINGS_H 1
-# define HAVE_SYS_MMAN_H 1
-# define HAVE_SYS_RESOURCE_H 1
-# define HAVE_SYS_WAIT_H 1
-# endif
-# if (ACC_LIBC_NEWLIB)
-# undef HAVE_STRINGS_H
-# endif
-#elif (ACC_OS_CYGWIN)
-# define HAVE_IO_H 1
-#elif (ACC_OS_EMX)
-# define HAVE_ALLOCA_H 1
-# define HAVE_IO_H 1
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
-# if !defined(__MINT__)
-# undef HAVE_MALLOC_H
-# endif
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
-# undef HAVE_DIRENT_H
-# undef HAVE_FCNTL_H
-# undef HAVE_MALLOC_H
-# undef HAVE_MEMORY_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_STAT_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
-#define HAVE_CONIO_H 1
-#define HAVE_DIRECT_H 1
-#define HAVE_DOS_H 1
-#define HAVE_IO_H 1
-#define HAVE_SHARE_H 1
-#if (ACC_CC_AZTECC)
-# undef HAVE_CONIO_H
-# undef HAVE_DIRECT_H
-# undef HAVE_DIRENT_H
-# undef HAVE_MALLOC_H
-# undef HAVE_SHARE_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_STAT_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-#elif (ACC_CC_BORLANDC)
-# undef HAVE_UNISTD_H
-# undef HAVE_SYS_TIME_H
-# if (ACC_OS_WIN32 || ACC_OS_WIN64)
-# undef HAVE_DIRENT_H
-# endif
-# if (__BORLANDC__ < 0x0400)
-# undef HAVE_DIRENT_H
-# undef HAVE_UTIME_H
-# endif
-#elif (ACC_CC_DMC)
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-# define HAVE_SYS_DIRENT_H 1
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
-# define HAVE_ALLOCA_H 1
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-#elif (ACC_CC_IBMC && ACC_OS_OS2)
-# undef HAVE_DOS_H
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-# define HAVE_SYS_UTIME_H 1
-#elif (ACC_CC_INTELC || ACC_CC_MSC)
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-# define HAVE_SYS_UTIME_H 1
-#elif (ACC_CC_LCCWIN32)
-# undef HAVE_DIRENT_H
-# undef HAVE_DOS_H
-# undef HAVE_UNISTD_H
-# undef HAVE_SYS_TIME_H
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
-# undef HAVE_UTIME_H
-# define HAVE_SYS_UTIME_H 1
-#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
-# define HAVE_ALLOCA_H 1
-# undef HAVE_DOS_H
-# undef HAVE_SHARE_H
-# undef HAVE_SYS_TIME_H
-#elif (ACC_CC_NDPC)
-# undef HAVE_DIRENT_H
-# undef HAVE_DOS_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-#elif (ACC_CC_PACIFICC)
-# undef HAVE_DIRECT_H
-# undef HAVE_DIRENT_H
-# undef HAVE_FCNTL_H
-# undef HAVE_IO_H
-# undef HAVE_MALLOC_H
-# undef HAVE_MEMORY_H
-# undef HAVE_SHARE_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_STAT_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
-# undef HAVE_DIRENT_H
-# undef HAVE_DOS_H
-# undef HAVE_MALLOC_H
-# undef HAVE_SHARE_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-# if (__POCC__ < 280)
-# else
-# define HAVE_SYS_UTIME_H 1
-# endif
-#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
-# undef HAVE_UTIME_H
-# define HAVE_SYS_UTIME_H 1
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
-#elif (ACC_CC_SYMANTECC)
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-# if (__SC__ < 0x700)
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-# endif
-#elif (ACC_CC_TOPSPEEDC)
-# undef HAVE_DIRENT_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_STAT_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-#elif (ACC_CC_TURBOC)
-# undef HAVE_UNISTD_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-# if (ACC_OS_WIN32 || ACC_OS_WIN64)
-# undef HAVE_DIRENT_H
-# endif
-# if (__TURBOC__ < 0x0200)
-# undef HAVE_SIGNAL_H
-# endif
-# if (__TURBOC__ < 0x0400)
-# undef HAVE_DIRECT_H
-# undef HAVE_DIRENT_H
-# undef HAVE_MALLOC_H
-# undef HAVE_MEMORY_H
-# undef HAVE_UTIME_H
-# endif
-#elif (ACC_CC_WATCOMC)
-# undef HAVE_DIRENT_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-# define HAVE_SYS_UTIME_H 1
-# if (__WATCOMC__ < 950)
-# undef HAVE_UNISTD_H
-# endif
-#elif (ACC_CC_ZORTECHC)
-# undef HAVE_DIRENT_H
-# undef HAVE_MEMORY_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_TIME_H
-#endif
-#endif
-#if (ACC_OS_CONSOLE)
-# undef HAVE_DIRENT_H
-#endif
-#if (ACC_OS_EMBEDDED)
-# undef HAVE_DIRENT_H
-#endif
-#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
-# undef HAVE_DIRENT_H
-# undef HAVE_FCNTL_H
-# undef HAVE_MALLOC_H
-# undef HAVE_UNISTD_H
-# undef HAVE_UTIME_H
-# undef HAVE_SYS_STAT_H
-# undef HAVE_SYS_TIME_H
-# undef HAVE_SYS_TYPES_H
-#endif
-#if (ACC_LIBC_GLIBC >= 0x020100ul)
-# define HAVE_STDINT_H 1
-#elif (ACC_LIBC_DIETLIBC)
-# undef HAVE_STDINT_H
-#elif (ACC_LIBC_UCLIBC)
-# define HAVE_STDINT_H 1
-#elif (ACC_CC_BORLANDC) && (__BORLANDC__ >= 0x560)
-# undef HAVE_STDINT_H
-#elif (ACC_CC_DMC) && (__DMC__ >= 0x825)
-# define HAVE_STDINT_H 1
-#endif
-#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
-# define TIME_WITH_SYS_TIME 1
-#endif
-#endif
-#endif
-#if !(ACC_CFG_AUTO_NO_FUNCTIONS)
-#if (ACC_LIBC_NAKED)
-#elif (ACC_LIBC_FREESTANDING)
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-# define HAVE_LONGJMP 1
-# define HAVE_MEMCMP 1
-# define HAVE_MEMCPY 1
-# define HAVE_MEMMOVE 1
-# define HAVE_MEMSET 1
-# define HAVE_SETJMP 1
-#else
-#define HAVE_ACCESS 1
-#define HAVE_ALLOCA 1
-#define HAVE_ATEXIT 1
-#define HAVE_ATOI 1
-#define HAVE_ATOL 1
-#define HAVE_CHMOD 1
-#define HAVE_CHOWN 1
-#define HAVE_CTIME 1
-#define HAVE_DIFFTIME 1
-#define HAVE_FILENO 1
-#define HAVE_FSTAT 1
-#define HAVE_GETENV 1
-#define HAVE_GETTIMEOFDAY 1
-#define HAVE_GMTIME 1
-#define HAVE_ISATTY 1
-#define HAVE_LOCALTIME 1
-#define HAVE_LONGJMP 1
-#define HAVE_LSTAT 1
-#define HAVE_MEMCMP 1
-#define HAVE_MEMCPY 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MEMSET 1
-#define HAVE_MKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_QSORT 1
-#define HAVE_RAISE 1
-#define HAVE_RMDIR 1
-#define HAVE_SETJMP 1
-#define HAVE_SIGNAL 1
-#define HAVE_SNPRINTF 1
-#define HAVE_STAT 1
-#define HAVE_STRCHR 1
-#define HAVE_STRDUP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_TIME 1
-#define HAVE_UMASK 1
-#define HAVE_UTIME 1
-#define HAVE_VSNPRINTF 1
-#if (ACC_OS_BEOS || ACC_OS_CYGWIN || ACC_OS_POSIX || ACC_OS_QNX || ACC_OS_VMS)
-# define HAVE_STRCASECMP 1
-# define HAVE_STRNCASECMP 1
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
-# define HAVE_STRCASECMP 1
-# define HAVE_STRNCASECMP 1
-#else
-# define HAVE_STRICMP 1
-# define HAVE_STRNICMP 1
-#endif
-#if (ACC_OS_POSIX)
-# if (ACC_OS_POSIX_AIX)
-# define HAVE_GETRUSAGE 1
-# elif (ACC_OS_POSIX_MACOSX && ACC_LIBC_MSL)
-# undef HAVE_CHOWN
-# undef HAVE_LSTAT
-# elif (ACC_OS_POSIX_UNICOS)
-# undef HAVE_ALLOCA
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# endif
-# if (ACC_CC_TINYC)
-# undef HAVE_ALLOCA
-# endif
-# if (ACC_LIBC_DIETLIBC || ACC_LIBC_GLIBC || ACC_LIBC_UCLIBC)
-# define HAVE_GETRUSAGE 1
-# define HAVE_GETPAGESIZE 1
-# define HAVE_MMAP 1
-# define HAVE_MPROTECT 1
-# define HAVE_MUNMAP 1
-# endif
-#elif (ACC_OS_CYGWIN)
-# if (ACC_CC_GNUC < 0x025a00ul)
-# undef HAVE_GETTIMEOFDAY
-# undef HAVE_LSTAT
-# endif
-# if (ACC_CC_GNUC < 0x025f00ul)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# endif
-#elif (ACC_OS_EMX)
-# undef HAVE_CHOWN
-# undef HAVE_LSTAT
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
-# if !defined(__MINT__)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# endif
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
-# undef HAVE_ALLOCA
-# undef HAVE_ACCESS
-# undef HAVE_CHMOD
-# undef HAVE_CHOWN
-# undef HAVE_FSTAT
-# undef HAVE_GETTIMEOFDAY
-# undef HAVE_LSTAT
-# undef HAVE_SNPRINTF
-# undef HAVE_UMASK
-# undef HAVE_UTIME
-# undef HAVE_VSNPRINTF
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
-#undef HAVE_CHOWN
-#undef HAVE_GETTIMEOFDAY
-#undef HAVE_LSTAT
-#undef HAVE_UMASK
-#if (ACC_CC_AZTECC)
-# undef HAVE_ALLOCA
-# undef HAVE_DIFFTIME
-# undef HAVE_FSTAT
-# undef HAVE_STRDUP
-# undef HAVE_SNPRINTF
-# undef HAVE_UTIME
-# undef HAVE_VSNPRINTF
-#elif (ACC_CC_BORLANDC)
-# if (__BORLANDC__ < 0x0400)
-# undef HAVE_ALLOCA
-# undef HAVE_UTIME
-# endif
-# if ((__BORLANDC__ < 0x0410) && ACC_OS_WIN16)
-# undef HAVE_ALLOCA
-# endif
-# if (__BORLANDC__ < 0x0550)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# endif
-#elif (ACC_CC_DMC)
-# if (ACC_OS_WIN16)
-# undef HAVE_ALLOCA
-# endif
-# define snprintf _snprintf
-# define vsnprintf _vsnprintf
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-#elif (ACC_CC_IBMC)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-#elif (ACC_CC_INTELC)
-# ifndef snprintf
-# define snprintf _snprintf
-# endif
-# ifndef vsnprintf
-# define vsnprintf _vsnprintf
-# endif
-#elif (ACC_CC_LCCWIN32)
-# define utime _utime
-#elif (ACC_CC_MSC)
-# if (_MSC_VER < 600)
-# undef HAVE_STRFTIME
-# endif
-# if (_MSC_VER < 700)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# elif (_MSC_VER < 1500)
-# ifndef snprintf
-# define snprintf _snprintf
-# endif
-# ifndef vsnprintf
-# define vsnprintf _vsnprintf
-# endif
-# else
-# ifndef snprintf
-# define snprintf _snprintf
-# endif
-# endif
-# if ((_MSC_VER < 800) && ACC_OS_WIN16)
-# undef HAVE_ALLOCA
-# endif
-# if (ACC_ARCH_I086) && defined(__cplusplus)
-# undef HAVE_LONGJMP
-# undef HAVE_SETJMP
-# endif
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__MINGW32__)
-# if (ACC_CC_GNUC < 0x025f00ul)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# else
-# define snprintf _snprintf
-# define vsnprintf _vsnprintf
-# endif
-#elif (ACC_OS_WIN32 && ACC_LIBC_MSL)
-# if (__MSL__ < 0x8000ul)
-# undef HAVE_CHMOD
-# endif
-#elif (ACC_CC_NDPC)
-# undef HAVE_ALLOCA
-# undef HAVE_SNPRINTF
-# undef HAVE_STRNICMP
-# undef HAVE_UTIME
-# undef HAVE_VSNPRINTF
-# if defined(__cplusplus)
-# undef HAVE_STAT
-# endif
-#elif (ACC_CC_PACIFICC)
-# undef HAVE_ACCESS
-# undef HAVE_ALLOCA
-# undef HAVE_CHMOD
-# undef HAVE_DIFFTIME
-# undef HAVE_FSTAT
-# undef HAVE_MKTIME
-# undef HAVE_RAISE
-# undef HAVE_SNPRINTF
-# undef HAVE_STRFTIME
-# undef HAVE_UTIME
-# undef HAVE_VSNPRINTF
-#elif (ACC_OS_WIN32 && ACC_CC_PELLESC)
-# if (__POCC__ < 280)
-# define alloca _alloca
-# undef HAVE_UTIME
-# endif
-#elif (ACC_OS_WIN32 && ACC_CC_PGI) && defined(__MINGW32__)
-# define snprintf _snprintf
-# define vsnprintf _vsnprintf
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-#elif (ACC_CC_SYMANTECC)
-# if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
-# undef HAVE_ALLOCA
-# endif
-# if (__SC__ < 0x600)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# else
-# define snprintf _snprintf
-# define vsnprintf _vsnprintf
-# endif
-# if (__SC__ < 0x700)
-# undef HAVE_DIFFTIME
-# undef HAVE_UTIME
-# endif
-#elif (ACC_CC_TOPSPEEDC)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-#elif (ACC_CC_TURBOC)
-# undef HAVE_ALLOCA
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# if (__TURBOC__ < 0x0200)
-# undef HAVE_RAISE
-# undef HAVE_SIGNAL
-# endif
-# if (__TURBOC__ < 0x0295)
-# undef HAVE_MKTIME
-# undef HAVE_STRFTIME
-# endif
-# if (__TURBOC__ < 0x0400)
-# undef HAVE_UTIME
-# endif
-#elif (ACC_CC_WATCOMC)
-# if (__WATCOMC__ < 1100)
-# undef HAVE_SNPRINTF
-# undef HAVE_VSNPRINTF
-# elif (__WATCOMC__ < 1200)
-# define snprintf _snprintf
-# define vsnprintf _vsnprintf
-# endif
-#elif (ACC_CC_ZORTECHC)
-# if (ACC_OS_WIN16 && (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE))
-# undef HAVE_ALLOCA
-# endif
-# undef HAVE_DIFFTIME
-# undef HAVE_SNPRINTF
-# undef HAVE_UTIME
-# undef HAVE_VSNPRINTF
-#endif
-#endif
-#if (ACC_OS_CONSOLE)
-# undef HAVE_ACCESS
-# undef HAVE_CHMOD
-# undef HAVE_CHOWN
-# undef HAVE_GETTIMEOFDAY
-# undef HAVE_LSTAT
-# undef HAVE_TIME
-# undef HAVE_UMASK
-# undef HAVE_UTIME
-#endif
-#if (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99)
-# undef HAVE_ACCESS
-# undef HAVE_CHMOD
-# undef HAVE_CHOWN
-# undef HAVE_FSTAT
-# undef HAVE_GETTIMEOFDAY
-# undef HAVE_LSTAT
-# undef HAVE_STAT
-# undef HAVE_UMASK
-# undef HAVE_UTIME
-# if 1
-# undef HAVE_ALLOCA
-# undef HAVE_ISATTY
-# undef HAVE_MKDIR
-# undef HAVE_RMDIR
-# undef HAVE_STRDUP
-# undef HAVE_STRICMP
-# undef HAVE_STRNICMP
-# endif
-#endif
-#endif
-#endif
-#if !(ACC_CFG_AUTO_NO_SIZES)
-#if !defined(SIZEOF_SHORT) && defined(ACC_SIZEOF_SHORT)
-# define SIZEOF_SHORT ACC_SIZEOF_SHORT
-#endif
-#if !defined(SIZEOF_INT) && defined(ACC_SIZEOF_INT)
-# define SIZEOF_INT ACC_SIZEOF_INT
-#endif
-#if !defined(SIZEOF_LONG) && defined(ACC_SIZEOF_LONG)
-# define SIZEOF_LONG ACC_SIZEOF_LONG
-#endif
-#if !defined(SIZEOF_LONG_LONG) && defined(ACC_SIZEOF_LONG_LONG)
-# define SIZEOF_LONG_LONG ACC_SIZEOF_LONG_LONG
-#endif
-#if !defined(SIZEOF___INT32) && defined(ACC_SIZEOF___INT32)
-# define SIZEOF___INT32 ACC_SIZEOF___INT32
-#endif
-#if !defined(SIZEOF___INT64) && defined(ACC_SIZEOF___INT64)
-# define SIZEOF___INT64 ACC_SIZEOF___INT64
-#endif
-#if !defined(SIZEOF_VOID_P) && defined(ACC_SIZEOF_VOID_P)
-# define SIZEOF_VOID_P ACC_SIZEOF_VOID_P
-#endif
-#if !defined(SIZEOF_SIZE_T) && defined(ACC_SIZEOF_SIZE_T)
-# define SIZEOF_SIZE_T ACC_SIZEOF_SIZE_T
-#endif
-#if !defined(SIZEOF_PTRDIFF_T) && defined(ACC_SIZEOF_PTRDIFF_T)
-# define SIZEOF_PTRDIFF_T ACC_SIZEOF_PTRDIFF_T
-#endif
-#endif
-#if (HAVE_SIGNAL) && !defined(RETSIGTYPE)
-# define RETSIGTYPE void
-#endif
-#endif
-#if (ACC_CFG_NO_ACC_TYPE_H)
-#else
-#if (ACC_SIZEOF_LONG_LONG+0 > 0)
-__acc_gnuc_extension__ typedef long long acc_llong_t;
-__acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
-#endif
-#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
-# error "missing defines for sizes"
-#endif
-#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
-# error "missing defines for sizes"
-#endif
-#if !defined(acc_int16e_t)
-#if (ACC_SIZEOF_LONG == 2)
-# define acc_int16e_t long
-# define acc_uint16e_t unsigned long
-#elif (ACC_SIZEOF_INT == 2)
-# define acc_int16e_t int
-# define acc_uint16e_t unsigned int
-#elif (ACC_SIZEOF_SHORT == 2)
-# define acc_int16e_t short int
-# define acc_uint16e_t unsigned short int
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
- typedef int __acc_int16e_hi_t __attribute__((__mode__(__HI__)));
- typedef unsigned int __acc_uint16e_hi_t __attribute__((__mode__(__HI__)));
-# define acc_int16e_t __acc_int16e_hi_t
-# define acc_uint16e_t __acc_uint16e_hi_t
-#elif (ACC_SIZEOF___INT16 == 2)
-# define acc_int16e_t __int16
-# define acc_uint16e_t unsigned __int16
-#else
-#endif
-#endif
-#if defined(acc_int16e_t)
-# define ACC_SIZEOF_ACC_INT16E_T 2
-#endif
-#if !defined(acc_int32e_t)
-#if (ACC_SIZEOF_LONG == 4)
-# define acc_int32e_t long int
-# define acc_uint32e_t unsigned long int
-#elif (ACC_SIZEOF_INT == 4)
-# define acc_int32e_t int
-# define acc_uint32e_t unsigned int
-#elif (ACC_SIZEOF_SHORT == 4)
-# define acc_int32e_t short int
-# define acc_uint32e_t unsigned short int
-#elif (ACC_SIZEOF_LONG_LONG == 4)
-# define acc_int32e_t acc_llong_t
-# define acc_uint32e_t acc_ullong_t
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
- typedef int __acc_int32e_si_t __attribute__((__mode__(__SI__)));
- typedef unsigned int __acc_uint32e_si_t __attribute__((__mode__(__SI__)));
-# define acc_int32e_t __acc_int32e_si_t
-# define acc_uint32e_t __acc_uint32e_si_t
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
- typedef int __acc_int32e_si_t __attribute__((__mode__(__SI__)));
- typedef unsigned int __acc_uint32e_si_t __attribute__((__mode__(__SI__)));
-# define acc_int32e_t __acc_int32e_si_t
-# define acc_uint32e_t __acc_uint32e_si_t
-# define ACC_INT32_C(c) c##LL
-# define ACC_UINT32_C(c) c##ULL
-#elif (ACC_SIZEOF___INT32 == 4)
-# define acc_int32e_t __int32
-# define acc_uint32e_t unsigned __int32
-#else
-#endif
-#endif
-#if defined(acc_int32e_t)
-# define ACC_SIZEOF_ACC_INT32E_T 4
-#endif
-#if !defined(acc_int64e_t)
-#if (ACC_SIZEOF___INT64 == 8)
-# if (ACC_CC_BORLANDC) && !(ACC_CFG_TYPE_PREFER___INT64)
-# define ACC_CFG_TYPE_PREFER___INT64 1
-# endif
-#endif
-#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_int64e_t int
-# define acc_uint64e_t unsigned int
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG == 8)
-# define acc_int64e_t long int
-# define acc_uint64e_t unsigned long int
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_LONG
-#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_TYPE_PREFER___INT64)
-# define acc_int64e_t acc_llong_t
-# define acc_uint64e_t acc_ullong_t
-# if (ACC_CC_BORLANDC)
-# define ACC_INT64_C(c) ((c) + 0ll)
-# define ACC_UINT64_C(c) ((c) + 0ull)
-# else
-# define ACC_INT64_C(c) c##LL
-# define ACC_UINT64_C(c) c##ULL
-# endif
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_LONG_LONG
-#elif (ACC_SIZEOF___INT64 == 8)
-# define acc_int64e_t __int64
-# define acc_uint64e_t unsigned __int64
-# if (ACC_CC_BORLANDC)
-# define ACC_INT64_C(c) ((c) + 0i64)
-# define ACC_UINT64_C(c) ((c) + 0ui64)
-# else
-# define ACC_INT64_C(c) c##i64
-# define ACC_UINT64_C(c) c##ui64
-# endif
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF___INT64
-#else
-#endif
-#endif
-#if !defined(acc_int32l_t)
-#if defined(acc_int32e_t)
-# define acc_int32l_t acc_int32e_t
-# define acc_uint32l_t acc_uint32e_t
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_ACC_INT32E_T
-#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_int32l_t int
-# define acc_uint32l_t unsigned int
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG >= 4)
-# define acc_int32l_t long int
-# define acc_uint32l_t unsigned long int
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_LONG
-#else
-# error "acc_int32l_t"
-#endif
-#endif
-#if !defined(acc_int64l_t)
-#if defined(acc_int64e_t)
-# define acc_int64l_t acc_int64e_t
-# define acc_uint64l_t acc_uint64e_t
-# define ACC_SIZEOF_ACC_INT64L_T ACC_SIZEOF_ACC_INT64E_T
-#else
-#endif
-#endif
-#if !defined(acc_int32f_t)
-#if (ACC_SIZEOF_SIZE_T >= 8)
-# define acc_int32f_t acc_int64l_t
-# define acc_uint32f_t acc_uint64l_t
-# define ACC_SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT64L_T
-#else
-# define acc_int32f_t acc_int32l_t
-# define acc_uint32f_t acc_uint32l_t
-# define ACC_SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT32L_T
-#endif
-#endif
-#if !defined(acc_intptr_t)
-#if 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
-# define __ACC_INTPTR_T_IS_POINTER 1
- typedef char* acc_intptr_t;
- typedef char* acc_uintptr_t;
-# define acc_intptr_t acc_intptr_t
-# define acc_uintptr_t acc_uintptr_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_VOID_P
-#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
- typedef __w64 int acc_intptr_t;
- typedef __w64 unsigned int acc_uintptr_t;
-# define acc_intptr_t acc_intptr_t
-# define acc_uintptr_t acc_uintptr_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
-# define acc_intptr_t short
-# define acc_uintptr_t unsigned short
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_SHORT
-#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_intptr_t int
-# define acc_uintptr_t unsigned int
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
-# define acc_intptr_t long
-# define acc_uintptr_t unsigned long
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_LONG
-#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
-# define acc_intptr_t acc_int64l_t
-# define acc_uintptr_t acc_uint64l_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INT64L_T
-#else
-# error "acc_intptr_t"
-#endif
-#endif
-#if !defined(acc_word_t)
-#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE > 0)
-#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !defined(__ACC_INTPTR_T_IS_POINTER)
-# define acc_word_t acc_uintptr_t
-# define acc_sword_t acc_intptr_t
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INTPTR_T
-#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
-# define acc_word_t unsigned long
-# define acc_sword_t long
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_LONG
-#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
-# define acc_word_t unsigned int
-# define acc_sword_t int
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_INT
-#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
-# define acc_word_t unsigned short
-# define acc_sword_t short
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_SHORT
-#elif (ACC_WORDSIZE == 1)
-# define acc_word_t unsigned char
-# define acc_sword_t signed char
-# define ACC_SIZEOF_ACC_WORD_T 1
-#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
-# define acc_word_t acc_uint64l_t
-# define acc_sword_t acc_int64l_t
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INT64L_T
-#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
-#if 0
- typedef unsigned acc_word_t __attribute__((__mode__(__V16QI__)));
- typedef int acc_sword_t __attribute__((__mode__(__V16QI__)));
-# define acc_word_t acc_word_t
-# define acc_sword_t acc_sword_t
-# define ACC_SIZEOF_ACC_WORD_T 16
-#endif
-#else
-# error "acc_word_t"
-#endif
-#endif
-#endif
-#if !defined(ACC_INT16_C)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
-# define ACC_INT16_C(c) ((c) + 0)
-# define ACC_UINT16_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
-# define ACC_INT16_C(c) ((c) + 0L)
-# define ACC_UINT16_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 2)
-# define ACC_INT16_C(c) c
-# define ACC_UINT16_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 2)
-# define ACC_INT16_C(c) c##L
-# define ACC_UINT16_C(c) c##UL
-# else
-# error "ACC_INT16_C"
-# endif
-#endif
-#if !defined(ACC_INT32_C)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
-# define ACC_INT32_C(c) ((c) + 0)
-# define ACC_UINT32_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
-# define ACC_INT32_C(c) ((c) + 0L)
-# define ACC_UINT32_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 4)
-# define ACC_INT32_C(c) c
-# define ACC_UINT32_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 4)
-# define ACC_INT32_C(c) c##L
-# define ACC_UINT32_C(c) c##UL
-# elif (ACC_SIZEOF_LONG_LONG >= 4)
-# define ACC_INT32_C(c) c##LL
-# define ACC_UINT32_C(c) c##ULL
-# else
-# error "ACC_INT32_C"
-# endif
-#endif
-#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
-# define ACC_INT64_C(c) ((c) + 0)
-# define ACC_UINT64_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
-# define ACC_INT64_C(c) ((c) + 0L)
-# define ACC_UINT64_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 8)
-# define ACC_INT64_C(c) c
-# define ACC_UINT64_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 8)
-# define ACC_INT64_C(c) c##L
-# define ACC_UINT64_C(c) c##UL
-# else
-# error "ACC_INT64_C"
-# endif
-#endif
-#if !defined(SIZEOF_ACC_INT16E_T) && defined(ACC_SIZEOF_ACC_INT16E_T)
-# define SIZEOF_ACC_INT16E_T ACC_SIZEOF_ACC_INT16E_T
-#endif
-#if !defined(SIZEOF_ACC_INT32E_T) && defined(ACC_SIZEOF_ACC_INT32E_T)
-# define SIZEOF_ACC_INT32E_T ACC_SIZEOF_ACC_INT32E_T
-#endif
-#if !defined(SIZEOF_ACC_INT64E_T) && defined(ACC_SIZEOF_ACC_INT64E_T)
-# define SIZEOF_ACC_INT64E_T ACC_SIZEOF_ACC_INT64E_T
-#endif
-#if !defined(SIZEOF_ACC_INT32L_T) && defined(ACC_SIZEOF_ACC_INT32L_T)
-# define SIZEOF_ACC_INT32L_T ACC_SIZEOF_ACC_INT32L_T
-#endif
-#if !defined(SIZEOF_ACC_INT64L_T) && defined(ACC_SIZEOF_ACC_INT64L_T)
-# define SIZEOF_ACC_INT64L_T ACC_SIZEOF_ACC_INT64L_T
-#endif
-#if !defined(SIZEOF_ACC_INT32F_T) && defined(ACC_SIZEOF_ACC_INT32F_T)
-# define SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT32F_T
-#endif
-#if !defined(SIZEOF_ACC_INTPTR_T) && defined(ACC_SIZEOF_ACC_INTPTR_T)
-# define SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INTPTR_T
-#endif
-#if !defined(SIZEOF_ACC_WORD_T) && defined(ACC_SIZEOF_ACC_WORD_T)
-# define SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_WORD_T
-#endif
-#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
-# define acc_signo_t acc_int32e_t
-#endif
-#if !defined(acc_signo_t)
-# define acc_signo_t int
-#endif
-#if defined(__cplusplus)
-extern "C" {
-#endif
-#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
-typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
-#elif defined(RETSIGTYPE)
-typedef RETSIGTYPE (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
-#else
-typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
-#endif
-#if defined(__cplusplus)
-}
-#endif
-# if (ACC_CFG_NO_ACC_UA_H)
-# else
-#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
-#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
-#elif (ACC_CC_INTELC) && defined(_WIN32)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
-#elif (ACC_CC_LLVM)
-#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
-#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
- typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
-# define __acc_ua16_t __acc_ua16_t
-#endif
-#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
- typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
-# define __acc_ua32_t __acc_ua32_t
-#endif
-#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
- typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
-# define __acc_ua64_t __acc_ua64_t
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
-#define ACC_UA_GET16(p) (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET16(p,v) ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE16(p) ACC_UA_GET16(p)
-# define ACC_UA_SET_BE16(p,v) ACC_UA_SET16(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE16(p) ACC_UA_GET16(p)
-# define ACC_UA_SET_LE16(p,v) ACC_UA_SET16(p,v)
-#endif
-#if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
-#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
-#if !defined(ACC_UA_GET_LE16)
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
- return v;
-}
-#define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
-#endif
-#if !defined(ACC_UA_SET_LE16)
-extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
-extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
- __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
-}
-#define ACC_UA_SET_LE16(p,v) __ACC_UA_SET_LE16(p,v)
-#endif
-#endif
-#endif
-#if !defined(ACC_UA_COPY16)
-# define ACC_UA_COPY16(d,s) ACC_UA_SET16(d, ACC_UA_GET16(s))
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
-#define ACC_UA_GET32(p) (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET32(p,v) ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE32(p) ACC_UA_GET32(p)
-# define ACC_UA_SET_BE32(p,v) ACC_UA_SET32(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE32(p) ACC_UA_GET32(p)
-# define ACC_UA_SET_LE32(p,v) ACC_UA_SET32(p,v)
-#endif
-#if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
-#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
-#if !defined(ACC_UA_GET_LE32)
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
- return v;
-}
-#define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
-#endif
-#if !defined(ACC_UA_SET_LE32)
-extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
-extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
- __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
-}
-#define ACC_UA_SET_LE32(p,v) __ACC_UA_SET_LE32(p,v)
-#endif
-#endif
-#endif
-#if !defined(ACC_UA_COPY32)
-# define ACC_UA_COPY32(d,s) ACC_UA_SET32(d, ACC_UA_GET32(s))
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
-#define ACC_UA_GET64(p) (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET64(p,v) ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE64(p) ACC_UA_GET64(p)
-# define ACC_UA_SET_BE64(p,v) ACC_UA_SET64(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE64(p) ACC_UA_GET64(p)
-# define ACC_UA_SET_LE64(p,v) ACC_UA_SET64(p,v)
-#endif
-#if !defined(ACC_UA_COPY64)
-# define ACC_UA_COPY64(d,s) ACC_UA_SET64(d, ACC_UA_GET64(s))
-#endif
-#endif
-# endif
-#endif
-#endif
-#if defined(ACC_WANT_ACC_TYPE_H)
-# undef ACC_WANT_ACC_TYPE_H
-# if defined(ACC_CFG_NO_ACC_TYPE_H)
-# error "ACC_WANT_ACC_TYPE_H with ACC_CFG_NO_ACC_TYPE_H"
-# endif
-#if (ACC_SIZEOF_LONG_LONG+0 > 0)
-__acc_gnuc_extension__ typedef long long acc_llong_t;
-__acc_gnuc_extension__ typedef unsigned long long acc_ullong_t;
-#endif
-#if (!(ACC_SIZEOF_SHORT+0 > 0 && ACC_SIZEOF_INT+0 > 0 && ACC_SIZEOF_LONG+0 > 0))
-# error "missing defines for sizes"
-#endif
-#if (!(ACC_SIZEOF_PTRDIFF_T+0 > 0 && ACC_SIZEOF_SIZE_T+0 > 0 && ACC_SIZEOF_VOID_P+0 > 0))
-# error "missing defines for sizes"
-#endif
-#if !defined(acc_int16e_t)
-#if (ACC_SIZEOF_LONG == 2)
-# define acc_int16e_t long
-# define acc_uint16e_t unsigned long
-#elif (ACC_SIZEOF_INT == 2)
-# define acc_int16e_t int
-# define acc_uint16e_t unsigned int
-#elif (ACC_SIZEOF_SHORT == 2)
-# define acc_int16e_t short int
-# define acc_uint16e_t unsigned short int
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_HI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM)
- typedef int __acc_int16e_hi_t __attribute__((__mode__(__HI__)));
- typedef unsigned int __acc_uint16e_hi_t __attribute__((__mode__(__HI__)));
-# define acc_int16e_t __acc_int16e_hi_t
-# define acc_uint16e_t __acc_uint16e_hi_t
-#elif (ACC_SIZEOF___INT16 == 2)
-# define acc_int16e_t __int16
-# define acc_uint16e_t unsigned __int16
-#else
-#endif
-#endif
-#if defined(acc_int16e_t)
-# define ACC_SIZEOF_ACC_INT16E_T 2
-#endif
-#if !defined(acc_int32e_t)
-#if (ACC_SIZEOF_LONG == 4)
-# define acc_int32e_t long int
-# define acc_uint32e_t unsigned long int
-#elif (ACC_SIZEOF_INT == 4)
-# define acc_int32e_t int
-# define acc_uint32e_t unsigned int
-#elif (ACC_SIZEOF_SHORT == 4)
-# define acc_int32e_t short int
-# define acc_uint32e_t unsigned short int
-#elif (ACC_SIZEOF_LONG_LONG == 4)
-# define acc_int32e_t acc_llong_t
-# define acc_uint32e_t acc_ullong_t
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x025f00ul) || ACC_CC_LLVM) && (__INT_MAX__+0 > 2147483647L)
- typedef int __acc_int32e_si_t __attribute__((__mode__(__SI__)));
- typedef unsigned int __acc_uint32e_si_t __attribute__((__mode__(__SI__)));
-# define acc_int32e_t __acc_int32e_si_t
-# define acc_uint32e_t __acc_uint32e_si_t
-#elif 1 && !(ACC_CFG_TYPE_NO_MODE_SI) && (ACC_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L)
- typedef int __acc_int32e_si_t __attribute__((__mode__(__SI__)));
- typedef unsigned int __acc_uint32e_si_t __attribute__((__mode__(__SI__)));
-# define acc_int32e_t __acc_int32e_si_t
-# define acc_uint32e_t __acc_uint32e_si_t
-# define ACC_INT32_C(c) c##LL
-# define ACC_UINT32_C(c) c##ULL
-#elif (ACC_SIZEOF___INT32 == 4)
-# define acc_int32e_t __int32
-# define acc_uint32e_t unsigned __int32
-#else
-#endif
-#endif
-#if defined(acc_int32e_t)
-# define ACC_SIZEOF_ACC_INT32E_T 4
-#endif
-#if !defined(acc_int64e_t)
-#if (ACC_SIZEOF___INT64 == 8)
-# if (ACC_CC_BORLANDC) && !(ACC_CFG_TYPE_PREFER___INT64)
-# define ACC_CFG_TYPE_PREFER___INT64 1
-# endif
-#endif
-#if (ACC_SIZEOF_INT == 8) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_int64e_t int
-# define acc_uint64e_t unsigned int
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG == 8)
-# define acc_int64e_t long int
-# define acc_uint64e_t unsigned long int
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_LONG
-#elif (ACC_SIZEOF_LONG_LONG == 8) && !(ACC_CFG_TYPE_PREFER___INT64)
-# define acc_int64e_t acc_llong_t
-# define acc_uint64e_t acc_ullong_t
-# if (ACC_CC_BORLANDC)
-# define ACC_INT64_C(c) ((c) + 0ll)
-# define ACC_UINT64_C(c) ((c) + 0ull)
-# else
-# define ACC_INT64_C(c) c##LL
-# define ACC_UINT64_C(c) c##ULL
-# endif
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF_LONG_LONG
-#elif (ACC_SIZEOF___INT64 == 8)
-# define acc_int64e_t __int64
-# define acc_uint64e_t unsigned __int64
-# if (ACC_CC_BORLANDC)
-# define ACC_INT64_C(c) ((c) + 0i64)
-# define ACC_UINT64_C(c) ((c) + 0ui64)
-# else
-# define ACC_INT64_C(c) c##i64
-# define ACC_UINT64_C(c) c##ui64
-# endif
-# define ACC_SIZEOF_ACC_INT64E_T ACC_SIZEOF___INT64
-#else
-#endif
-#endif
-#if !defined(acc_int32l_t)
-#if defined(acc_int32e_t)
-# define acc_int32l_t acc_int32e_t
-# define acc_uint32l_t acc_uint32e_t
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_ACC_INT32E_T
-#elif (ACC_SIZEOF_INT >= 4) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_int32l_t int
-# define acc_uint32l_t unsigned int
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG >= 4)
-# define acc_int32l_t long int
-# define acc_uint32l_t unsigned long int
-# define ACC_SIZEOF_ACC_INT32L_T ACC_SIZEOF_LONG
-#else
-# error "acc_int32l_t"
-#endif
-#endif
-#if !defined(acc_int64l_t)
-#if defined(acc_int64e_t)
-# define acc_int64l_t acc_int64e_t
-# define acc_uint64l_t acc_uint64e_t
-# define ACC_SIZEOF_ACC_INT64L_T ACC_SIZEOF_ACC_INT64E_T
-#else
-#endif
-#endif
-#if !defined(acc_int32f_t)
-#if (ACC_SIZEOF_SIZE_T >= 8)
-# define acc_int32f_t acc_int64l_t
-# define acc_uint32f_t acc_uint64l_t
-# define ACC_SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT64L_T
-#else
-# define acc_int32f_t acc_int32l_t
-# define acc_uint32f_t acc_uint32l_t
-# define ACC_SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT32L_T
-#endif
-#endif
-#if !defined(acc_intptr_t)
-#if 1 && (ACC_OS_OS400 && (ACC_SIZEOF_VOID_P == 16))
-# define __ACC_INTPTR_T_IS_POINTER 1
- typedef char* acc_intptr_t;
- typedef char* acc_uintptr_t;
-# define acc_intptr_t acc_intptr_t
-# define acc_uintptr_t acc_uintptr_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_VOID_P
-#elif (ACC_CC_MSC && (_MSC_VER >= 1300) && (ACC_SIZEOF_VOID_P == 4) && (ACC_SIZEOF_INT == 4))
- typedef __w64 int acc_intptr_t;
- typedef __w64 unsigned int acc_uintptr_t;
-# define acc_intptr_t acc_intptr_t
-# define acc_uintptr_t acc_uintptr_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_SHORT == ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT > ACC_SIZEOF_VOID_P)
-# define acc_intptr_t short
-# define acc_uintptr_t unsigned short
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_SHORT
-#elif (ACC_SIZEOF_INT >= ACC_SIZEOF_VOID_P) && (ACC_SIZEOF_INT < ACC_SIZEOF_LONG)
-# define acc_intptr_t int
-# define acc_uintptr_t unsigned int
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_INT
-#elif (ACC_SIZEOF_LONG >= ACC_SIZEOF_VOID_P)
-# define acc_intptr_t long
-# define acc_uintptr_t unsigned long
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_LONG
-#elif (ACC_SIZEOF_ACC_INT64L_T >= ACC_SIZEOF_VOID_P)
-# define acc_intptr_t acc_int64l_t
-# define acc_uintptr_t acc_uint64l_t
-# define ACC_SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INT64L_T
-#else
-# error "acc_intptr_t"
-#endif
-#endif
-#if !defined(acc_word_t)
-#if defined(ACC_WORDSIZE) && (ACC_WORDSIZE > 0)
-#if (ACC_WORDSIZE == ACC_SIZEOF_ACC_INTPTR_T) && !defined(__ACC_INTPTR_T_IS_POINTER)
-# define acc_word_t acc_uintptr_t
-# define acc_sword_t acc_intptr_t
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INTPTR_T
-#elif (ACC_WORDSIZE == ACC_SIZEOF_LONG)
-# define acc_word_t unsigned long
-# define acc_sword_t long
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_LONG
-#elif (ACC_WORDSIZE == ACC_SIZEOF_INT)
-# define acc_word_t unsigned int
-# define acc_sword_t int
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_INT
-#elif (ACC_WORDSIZE == ACC_SIZEOF_SHORT)
-# define acc_word_t unsigned short
-# define acc_sword_t short
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_SHORT
-#elif (ACC_WORDSIZE == 1)
-# define acc_word_t unsigned char
-# define acc_sword_t signed char
-# define ACC_SIZEOF_ACC_WORD_T 1
-#elif (ACC_WORDSIZE == ACC_SIZEOF_ACC_INT64L_T)
-# define acc_word_t acc_uint64l_t
-# define acc_sword_t acc_int64l_t
-# define ACC_SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_INT64L_T
-#elif (ACC_ARCH_SPU) && (ACC_CC_GNUC)
-#if 0
- typedef unsigned acc_word_t __attribute__((__mode__(__V16QI__)));
- typedef int acc_sword_t __attribute__((__mode__(__V16QI__)));
-# define acc_word_t acc_word_t
-# define acc_sword_t acc_sword_t
-# define ACC_SIZEOF_ACC_WORD_T 16
-#endif
-#else
-# error "acc_word_t"
-#endif
-#endif
-#endif
-#if !defined(ACC_INT16_C)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 2)
-# define ACC_INT16_C(c) ((c) + 0)
-# define ACC_UINT16_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 2)
-# define ACC_INT16_C(c) ((c) + 0L)
-# define ACC_UINT16_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 2)
-# define ACC_INT16_C(c) c
-# define ACC_UINT16_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 2)
-# define ACC_INT16_C(c) c##L
-# define ACC_UINT16_C(c) c##UL
-# else
-# error "ACC_INT16_C"
-# endif
-#endif
-#if !defined(ACC_INT32_C)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 4)
-# define ACC_INT32_C(c) ((c) + 0)
-# define ACC_UINT32_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 4)
-# define ACC_INT32_C(c) ((c) + 0L)
-# define ACC_UINT32_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 4)
-# define ACC_INT32_C(c) c
-# define ACC_UINT32_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 4)
-# define ACC_INT32_C(c) c##L
-# define ACC_UINT32_C(c) c##UL
-# elif (ACC_SIZEOF_LONG_LONG >= 4)
-# define ACC_INT32_C(c) c##LL
-# define ACC_UINT32_C(c) c##ULL
-# else
-# error "ACC_INT32_C"
-# endif
-#endif
-#if !defined(ACC_INT64_C) && defined(acc_int64l_t)
-# if (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_INT >= 8)
-# define ACC_INT64_C(c) ((c) + 0)
-# define ACC_UINT64_C(c) ((c) + 0U)
-# elif (ACC_BROKEN_INTEGRAL_CONSTANTS) && (ACC_SIZEOF_LONG >= 8)
-# define ACC_INT64_C(c) ((c) + 0L)
-# define ACC_UINT64_C(c) ((c) + 0UL)
-# elif (ACC_SIZEOF_INT >= 8)
-# define ACC_INT64_C(c) c
-# define ACC_UINT64_C(c) c##U
-# elif (ACC_SIZEOF_LONG >= 8)
-# define ACC_INT64_C(c) c##L
-# define ACC_UINT64_C(c) c##UL
-# else
-# error "ACC_INT64_C"
-# endif
-#endif
-#if !defined(SIZEOF_ACC_INT16E_T) && defined(ACC_SIZEOF_ACC_INT16E_T)
-# define SIZEOF_ACC_INT16E_T ACC_SIZEOF_ACC_INT16E_T
-#endif
-#if !defined(SIZEOF_ACC_INT32E_T) && defined(ACC_SIZEOF_ACC_INT32E_T)
-# define SIZEOF_ACC_INT32E_T ACC_SIZEOF_ACC_INT32E_T
-#endif
-#if !defined(SIZEOF_ACC_INT64E_T) && defined(ACC_SIZEOF_ACC_INT64E_T)
-# define SIZEOF_ACC_INT64E_T ACC_SIZEOF_ACC_INT64E_T
-#endif
-#if !defined(SIZEOF_ACC_INT32L_T) && defined(ACC_SIZEOF_ACC_INT32L_T)
-# define SIZEOF_ACC_INT32L_T ACC_SIZEOF_ACC_INT32L_T
-#endif
-#if !defined(SIZEOF_ACC_INT64L_T) && defined(ACC_SIZEOF_ACC_INT64L_T)
-# define SIZEOF_ACC_INT64L_T ACC_SIZEOF_ACC_INT64L_T
-#endif
-#if !defined(SIZEOF_ACC_INT32F_T) && defined(ACC_SIZEOF_ACC_INT32F_T)
-# define SIZEOF_ACC_INT32F_T ACC_SIZEOF_ACC_INT32F_T
-#endif
-#if !defined(SIZEOF_ACC_INTPTR_T) && defined(ACC_SIZEOF_ACC_INTPTR_T)
-# define SIZEOF_ACC_INTPTR_T ACC_SIZEOF_ACC_INTPTR_T
-#endif
-#if !defined(SIZEOF_ACC_WORD_T) && defined(ACC_SIZEOF_ACC_WORD_T)
-# define SIZEOF_ACC_WORD_T ACC_SIZEOF_ACC_WORD_T
-#endif
-#if 1 && !defined(acc_signo_t) && defined(__linux__) && defined(__dietlibc__) && (ACC_SIZEOF_INT != 4)
-# define acc_signo_t acc_int32e_t
-#endif
-#if !defined(acc_signo_t)
-# define acc_signo_t int
-#endif
-#if defined(__cplusplus)
-extern "C" {
-#endif
-#if (ACC_BROKEN_CDECL_ALT_SYNTAX)
-typedef void __acc_cdecl_sighandler (*acc_sighandler_t)(acc_signo_t);
-#elif defined(RETSIGTYPE)
-typedef RETSIGTYPE (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
-#else
-typedef void (__acc_cdecl_sighandler *acc_sighandler_t)(acc_signo_t);
-#endif
-#if defined(__cplusplus)
-}
-#endif
-# if !defined(ACC_CFG_NO_ACC_UA_H)
-#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020700ul))
-#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul)) && defined(__cplusplus)
-#elif (ACC_CC_INTELC) && defined(_WIN32)
-#elif (ACC_CC_INTELC && (__INTEL_COMPILER < 700))
-#elif (ACC_CC_LLVM)
-#elif (ACC_CC_GNUC || ACC_CC_INTELC || ACC_CC_PATHSCALE)
-#if !defined(__acc_ua16_t) && (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
- typedef struct { __acc_ua_volatile acc_uint16e_t v __attribute__((__packed__)); } __acc_ua16_t;
-# define __acc_ua16_t __acc_ua16_t
-#endif
-#if !defined(__acc_ua32_t) && (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
- typedef struct { __acc_ua_volatile acc_uint32e_t v __attribute__((__packed__)); } __acc_ua32_t;
-# define __acc_ua32_t __acc_ua32_t
-#endif
-#if !defined(__acc_ua64_t) && (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
- typedef struct { __acc_ua_volatile acc_uint64l_t v __attribute__((__packed__)); } __acc_ua64_t;
-# define __acc_ua64_t __acc_ua64_t
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED16) && defined(acc_int16e_t)
-#define ACC_UA_GET16(p) (* (__acc_ua_volatile const acc_uint16e_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET16(p,v) ((* (__acc_ua_volatile acc_uint16e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint16e_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE16(p) ACC_UA_GET16(p)
-# define ACC_UA_SET_BE16(p,v) ACC_UA_SET16(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE16(p) ACC_UA_GET16(p)
-# define ACC_UA_SET_LE16(p,v) ACC_UA_SET16(p,v)
-#endif
-#if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
-#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
-#if !defined(ACC_UA_GET_LE16)
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp);
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE16(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint16e_t* p = (__acc_ua_volatile const acc_uint16e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lhbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
- return v;
-}
-#define ACC_UA_GET_LE16(p) __ACC_UA_GET_LE16(p)
-#endif
-#if !defined(ACC_UA_SET_LE16)
-extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v);
-extern __acc_forceinline void __ACC_UA_SET_LE16(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint16e_t* p = (__acc_ua_volatile acc_uint16e_t*) pp;
- __asm__ __volatile__("sthbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
-}
-#define ACC_UA_SET_LE16(p,v) __ACC_UA_SET_LE16(p,v)
-#endif
-#endif
-#endif
-#if !defined(ACC_UA_COPY16)
-# define ACC_UA_COPY16(d,s) ACC_UA_SET16(d, ACC_UA_GET16(s))
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED32) && defined(acc_int32e_t)
-#define ACC_UA_GET32(p) (* (__acc_ua_volatile const acc_uint32e_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET32(p,v) ((* (__acc_ua_volatile acc_uint32e_t*) (__acc_ua_volatile void*) (p)) = (acc_uint32e_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE32(p) ACC_UA_GET32(p)
-# define ACC_UA_SET_BE32(p,v) ACC_UA_SET32(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE32(p) ACC_UA_GET32(p)
-# define ACC_UA_SET_LE32(p,v) ACC_UA_SET32(p,v)
-#endif
-#if !(ACC_CFG_NO_INLINE_ASM) && (__acc_HAVE_forceinline)
-#if (ACC_ARCH_POWERPC && ACC_ABI_BIG_ENDIAN) && (ACC_CC_GNUC)
-#if !defined(ACC_UA_GET_LE32)
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp);
-extern __acc_forceinline unsigned long __ACC_UA_GET_LE32(__acc_ua_volatile const void* pp) {
- __acc_ua_volatile const acc_uint32e_t* p = (__acc_ua_volatile const acc_uint32e_t*) pp;
- unsigned long v;
- __asm__ __volatile__("lwbrx %0,0,%1" : "=r" (v) : "r" (p), "m" (*p));
- return v;
-}
-#define ACC_UA_GET_LE32(p) __ACC_UA_GET_LE32(p)
-#endif
-#if !defined(ACC_UA_SET_LE32)
-extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v);
-extern __acc_forceinline void __ACC_UA_SET_LE32(__acc_ua_volatile void* pp, unsigned long v) {
- __acc_ua_volatile acc_uint32e_t* p = (__acc_ua_volatile acc_uint32e_t*) pp;
- __asm__ __volatile__("stwbrx %2,0,%1" : "=m" (*p) : "r" (p), "r" (v));
-}
-#define ACC_UA_SET_LE32(p,v) __ACC_UA_SET_LE32(p,v)
-#endif
-#endif
-#endif
-#if !defined(ACC_UA_COPY32)
-# define ACC_UA_COPY32(d,s) ACC_UA_SET32(d, ACC_UA_GET32(s))
-#endif
-#endif
-#if (ACC_OPT_UNALIGNED64) && defined(acc_int64l_t)
-#define ACC_UA_GET64(p) (* (__acc_ua_volatile const acc_uint64l_t*) (__acc_ua_volatile const void*) (p))
-#define ACC_UA_SET64(p,v) ((* (__acc_ua_volatile acc_uint64l_t*) (__acc_ua_volatile void*) (p)) = (acc_uint64l_t) (v))
-#if (ACC_ABI_BIG_ENDIAN)
-# define ACC_UA_GET_BE64(p) ACC_UA_GET64(p)
-# define ACC_UA_SET_BE64(p,v) ACC_UA_SET64(p,v)
-#elif (ACC_ABI_LITTLE_ENDIAN)
-# define ACC_UA_GET_LE64(p) ACC_UA_GET64(p)
-# define ACC_UA_SET_LE64(p,v) ACC_UA_SET64(p,v)
-#endif
-#if !defined(ACC_UA_COPY64)
-# define ACC_UA_COPY64(d,s) ACC_UA_SET64(d, ACC_UA_GET64(s))
-#endif
-#endif
-# endif
-#endif
-#if defined(ACC_WANT_ACC_INCD_H)
-# undef ACC_WANT_ACC_INCD_H
-#ifndef __ACC_INCD_H_INCLUDED
-#define __ACC_INCD_H_INCLUDED 1
-#if (ACC_LIBC_NAKED)
-#ifndef __ACC_FALLBACK_STDDEF_H_INCLUDED
-#define __ACC_FALLBACK_STDDEF_H_INCLUDED 1
-#if defined(__PTRDIFF_TYPE__)
-typedef __PTRDIFF_TYPE__ acc_fallback_ptrdiff_t;
-#elif defined(__MIPS_PSX2__)
-typedef int acc_fallback_ptrdiff_t;
-#else
-typedef long acc_fallback_ptrdiff_t;
-#endif
-#if defined(__SIZE_TYPE__)
-typedef __SIZE_TYPE__ acc_fallback_size_t;
-#elif defined(__MIPS_PSX2__)
-typedef unsigned int acc_fallback_size_t;
-#else
-typedef unsigned long acc_fallback_size_t;
-#endif
-#if !defined(ptrdiff_t)
-typedef acc_fallback_ptrdiff_t ptrdiff_t;
-#ifndef _PTRDIFF_T_DEFINED
-#define _PTRDIFF_T_DEFINED 1
-#endif
-#endif
-#if !defined(size_t)
-typedef acc_fallback_size_t size_t;
-#ifndef _SIZE_T_DEFINED
-#define _SIZE_T_DEFINED 1
-#endif
-#endif
-#if !defined(__cplusplus) && !defined(wchar_t)
-typedef unsigned short wchar_t;
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED 1
-#endif
-#endif
-#ifndef NULL
-#if defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ >= 4)
-#define NULL __null
-#elif defined(__cplusplus)
-#define NULL 0
-#else
-#define NULL ((void*)0)
-#endif
-#endif
-#ifndef offsetof
-#define offsetof(s,m) ((size_t)((ptrdiff_t)&(((s*)0)->m)))
-#endif
-#endif
-#elif (ACC_LIBC_FREESTANDING)
-# if HAVE_STDDEF_H
-# include <stddef.h>
-# endif
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-# if HAVE_STDIO_H
-# include <stdio.h>
-# endif
-# if HAVE_STDDEF_H
-# include <stddef.h>
-# endif
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#else
-#include <stdio.h>
-#if (HAVE_TIME_H) && defined(__MSL__) && defined(__cplusplus)
-# include <time.h>
-#endif
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-#endif
-#endif
-#endif
-#if defined(ACC_WANT_ACC_INCE_H)
-# undef ACC_WANT_ACC_INCE_H
-#ifndef __ACC_INCE_H_INCLUDED
-#define __ACC_INCE_H_INCLUDED 1
-#if (ACC_LIBC_NAKED)
-#elif (ACC_LIBC_FREESTANDING)
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-# if (HAVE_SETJMP_H)
-# include <setjmp.h>
-# endif
-#else
-#if (HAVE_STDARG_H)
-# include <stdarg.h>
-#endif
-#if (HAVE_CTYPE_H)
-# include <ctype.h>
-#endif
-#if (HAVE_ERRNO_H)
-# include <errno.h>
-#endif
-#if (HAVE_MALLOC_H)
-# include <malloc.h>
-#endif
-#if (HAVE_ALLOCA_H)
-# include <alloca.h>
-#endif
-#if (HAVE_FCNTL_H)
-# include <fcntl.h>
-#endif
-#if (HAVE_DIRENT_H)
-# include <dirent.h>
-#endif
-#if (HAVE_SETJMP_H)
-# include <setjmp.h>
-#endif
-#if (HAVE_SIGNAL_H)
-# include <signal.h>
-#endif
-#if (TIME_WITH_SYS_TIME)
-# include <sys/time.h>
-# include <time.h>
-#elif (HAVE_TIME_H)
-# include <time.h>
-#endif
-#if (HAVE_UTIME_H)
-# include <utime.h>
-#elif (HAVE_SYS_UTIME_H)
-# include <sys/utime.h>
-#endif
-#if (HAVE_IO_H)
-# include <io.h>
-#endif
-#if (HAVE_DOS_H)
-# include <dos.h>
-#endif
-#if (HAVE_DIRECT_H)
-# include <direct.h>
-#endif
-#if (HAVE_SHARE_H)
-# include <share.h>
-#endif
-#if (ACC_CC_NDPC)
-# include <os.h>
-#endif
-#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__))
-# include <ext.h>
-#endif
-#endif
-#endif
-#endif
-#if defined(ACC_WANT_ACC_INCI_H)
-# undef ACC_WANT_ACC_INCI_H
-#ifndef __ACC_INCI_H_INCLUDED
-#define __ACC_INCI_H_INCLUDED 1
-#if (ACC_LIBC_NAKED)
-#elif (ACC_LIBC_FREESTANDING)
-#elif (ACC_LIBC_MOSTLY_FREESTANDING)
-#else
-#if (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
-# include <tos.h>
-#elif (ACC_HAVE_WINDOWS_H)
-# if 1 && !defined(WIN32_LEAN_AND_MEAN)
-# define WIN32_LEAN_AND_MEAN 1
-# endif
-# if 1 && !defined(_WIN32_WINNT)
-# define _WIN32_WINNT 0x0400
-# endif
-# include <windows.h>
-# if (ACC_CC_BORLANDC || ACC_CC_TURBOC)
-# include <dir.h>
-# endif
-#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_WIN16)
-# if (ACC_CC_AZTECC)
-# include <model.h>
-# include <stat.h>
-# elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
-# include <alloc.h>
-# include <dir.h>
-# elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-# include <sys/exceptn.h>
-# elif (ACC_CC_PACIFICC)
-# include <unixio.h>
-# include <stat.h>
-# include <sys.h>
-# elif (ACC_CC_WATCOMC)
-# include <i86.h>
-# endif
-#elif (ACC_OS_OS216)
-# if (ACC_CC_WATCOMC)
-# include <i86.h>
-# endif
-#endif
-#if (HAVE_SYS_MMAN_H)
-# include <sys/mman.h>
-#endif
-#if (HAVE_SYS_RESOURCE_H)
-# include <sys/resource.h>
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16)
-# if defined(FP_OFF)
-# define ACC_PTR_FP_OFF(x) FP_OFF(x)
-# elif defined(_FP_OFF)
-# define ACC_PTR_FP_OFF(x) _FP_OFF(x)
-# else
-# define ACC_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0])
-# endif
-# if defined(FP_SEG)
-# define ACC_PTR_FP_SEG(x) FP_SEG(x)
-# elif defined(_FP_SEG)
-# define ACC_PTR_FP_SEG(x) _FP_SEG(x)
-# else
-# define ACC_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1])
-# endif
-# if defined(MK_FP)
-# define ACC_PTR_MK_FP(s,o) MK_FP(s,o)
-# elif defined(_MK_FP)
-# define ACC_PTR_MK_FP(s,o) _MK_FP(s,o)
-# else
-# define ACC_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
-# endif
-# if 0
-# undef ACC_PTR_FP_OFF
-# undef ACC_PTR_FP_SEG
-# undef ACC_PTR_MK_FP
-# define ACC_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0])
-# define ACC_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1])
-# define ACC_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
-# endif
-#endif
-#endif
-#endif
-#endif
-#if defined(ACC_WANT_ACC_LIB_H)
-# undef ACC_WANT_ACC_LIB_H
-#ifndef __ACC_LIB_H_INCLUDED
-#define __ACC_LIB_H_INCLUDED 1
-#if !defined(__ACCLIB_FUNCNAME)
-# define __ACCLIB_FUNCNAME(f) f
-#endif
-#if !defined(ACCLIB_EXTERN)
-# define ACCLIB_EXTERN(r,f) extern r __ACCLIB_FUNCNAME(f)
-#endif
-#if !defined(ACCLIB_EXTERN_NOINLINE)
-# if defined(__acc_noinline)
-# define ACCLIB_EXTERN_NOINLINE(r,f) extern __acc_noinline r __ACCLIB_FUNCNAME(f)
-# else
-# define ACCLIB_EXTERN_NOINLINE(r,f) extern r __ACCLIB_FUNCNAME(f)
-# endif
-#endif
-#if !defined(__ACCLIB_CONST_CAST_RETURN)
-#if 1 && (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __ACCLIB_CONST_CAST_RETURN(type,var) return (type) (acc_uintptr_t) (var);
-#elif (ACC_CC_CLANG || ACC_CC_GNUC || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __ACCLIB_CONST_CAST_RETURN(type,var) \
- { union { type a; const type b; } u; u.b = (var); return u.a; }
-#else
-# define __ACCLIB_CONST_CAST_RETURN(type,var) return (type) (var);
-#endif
-#endif
-#if (ACC_OS_WIN64)
-# define acclib_handle_t acc_int64l_t
-# define acclib_uhandle_t acc_uint64l_t
-#elif (ACC_ARCH_I386 && ACC_CC_MSC && (_MSC_VER >= 1300))
- typedef __w64 long acclib_handle_t;
- typedef __w64 unsigned long acclib_uhandle_t;
-# define acclib_handle_t acclib_handle_t
-# define acclib_uhandle_t acclib_uhandle_t
-#else
-# define acclib_handle_t long
-# define acclib_uhandle_t unsigned long
-#endif
-#if 0
-ACCLIB_EXTERN(int, acc_ascii_digit) (int);
-ACCLIB_EXTERN(int, acc_ascii_islower) (int);
-ACCLIB_EXTERN(int, acc_ascii_isupper) (int);
-ACCLIB_EXTERN(int, acc_ascii_tolower) (int);
-ACCLIB_EXTERN(int, acc_ascii_toupper) (int);
-ACCLIB_EXTERN(int, acc_ascii_utolower) (int);
-ACCLIB_EXTERN(int, acc_ascii_utoupper) (int);
-#endif
-#define acc_ascii_isdigit(c) (((unsigned)(c) - 48) < 10)
-#define acc_ascii_islower(c) (((unsigned)(c) - 97) < 26)
-#define acc_ascii_isupper(c) (((unsigned)(c) - 65) < 26)
-#define acc_ascii_tolower(c) ((int)(c) + (acc_ascii_isupper(c) << 5))
-#define acc_ascii_toupper(c) ((int)(c) - (acc_ascii_islower(c) << 5))
-#define acc_ascii_utolower(c) acc_ascii_tolower((unsigned char)(c))
-#define acc_ascii_utoupper(c) acc_ascii_toupper((unsigned char)(c))
-#ifndef acc_hsize_t
-#if (ACC_HAVE_MM_HUGE_PTR)
-# define acc_hsize_t unsigned long
-# define acc_hvoid_p void __huge *
-# define acc_hchar_p char __huge *
-# define acc_hchar_pp char __huge * __huge *
-# define acc_hbyte_p unsigned char __huge *
-#else
-# define acc_hsize_t size_t
-# define acc_hvoid_p void *
-# define acc_hchar_p char *
-# define acc_hchar_pp char **
-# define acc_hbyte_p unsigned char *
-#endif
-#endif
-ACCLIB_EXTERN(acc_hvoid_p, acc_halloc) (acc_hsize_t);
-ACCLIB_EXTERN(void, acc_hfree) (acc_hvoid_p);
-#if (ACC_OS_DOS16 || ACC_OS_OS216)
-ACCLIB_EXTERN(void __far*, acc_dos_alloc) (unsigned long);
-ACCLIB_EXTERN(int, acc_dos_free) (void __far*);
-#endif
-ACCLIB_EXTERN(int, acc_hmemcmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemset) (acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrlen) (const acc_hchar_p);
-ACCLIB_EXTERN(int, acc_hstrcmp) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(int, acc_hstrncmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(int, acc_ascii_hstricmp) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(int, acc_ascii_hstrnicmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(int, acc_ascii_hmemicmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrstr) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstristr) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemimem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrcpy) (acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrcat) (acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(int, acc_hstrscpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(int, acc_hstrscat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrccpy) (acc_hchar_p, const acc_hchar_p, int);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemccpy) (acc_hvoid_p, const acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrchr) (const acc_hchar_p, int);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrrchr) (const acc_hchar_p, int);
-ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrichr) (const acc_hchar_p, int);
-ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrrichr) (const acc_hchar_p, int);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemchr) (const acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_hmemrchr) (const acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemichr) (const acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemrichr) (const acc_hvoid_p, int, acc_hsize_t);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrspn) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrrspn) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrcspn) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hsize_t, acc_hstrrcspn) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrpbrk) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrrpbrk) (const acc_hchar_p, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrsep) (acc_hchar_pp, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_hstrrsep) (acc_hchar_pp, const acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrlwr) (acc_hchar_p);
-ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrupr) (acc_hchar_p);
-ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemlwr) (acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemupr) (acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hsize_t, acc_hfread) (void *, acc_hvoid_p, acc_hsize_t);
-ACCLIB_EXTERN(acc_hsize_t, acc_hfwrite) (void *, const acc_hvoid_p, acc_hsize_t);
-#if (ACC_HAVE_MM_HUGE_PTR)
-ACCLIB_EXTERN(long, acc_hread) (int, acc_hvoid_p, long);
-ACCLIB_EXTERN(long, acc_hwrite) (int, const acc_hvoid_p, long);
-#endif
-ACCLIB_EXTERN(long, acc_safe_hread) (int, acc_hvoid_p, long);
-ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);
-ACCLIB_EXTERN(unsigned, acc_ua_get_be16) (const acc_hvoid_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p);
-ACCLIB_EXTERN(void, acc_ua_set_be16) (acc_hvoid_p, unsigned);
-ACCLIB_EXTERN(void, acc_ua_set_be24) (acc_hvoid_p, acc_uint32l_t);
-ACCLIB_EXTERN(void, acc_ua_set_be32) (acc_hvoid_p, acc_uint32l_t);
-ACCLIB_EXTERN(unsigned, acc_ua_get_le16) (const acc_hvoid_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p);
-ACCLIB_EXTERN(void, acc_ua_set_le16) (acc_hvoid_p, unsigned);
-ACCLIB_EXTERN(void, acc_ua_set_le24) (acc_hvoid_p, acc_uint32l_t);
-ACCLIB_EXTERN(void, acc_ua_set_le32) (acc_hvoid_p, acc_uint32l_t);
-#if defined(acc_int64l_t)
-ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p);
-ACCLIB_EXTERN(void, acc_ua_set_be64) (acc_hvoid_p, acc_uint64l_t);
-ACCLIB_EXTERN(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p);
-ACCLIB_EXTERN(void, acc_ua_set_le64) (acc_hvoid_p, acc_uint64l_t);
-#endif
-ACCLIB_EXTERN_NOINLINE(short, acc_vget_short) (short, int);
-ACCLIB_EXTERN_NOINLINE(int, acc_vget_int) (int, int);
-ACCLIB_EXTERN_NOINLINE(long, acc_vget_long) (long, int);
-#if defined(acc_int64l_t)
-ACCLIB_EXTERN_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t, int);
-#endif
-ACCLIB_EXTERN_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t, int);
-#if !(ACC_CFG_NO_FLOAT)
-ACCLIB_EXTERN_NOINLINE(float, acc_vget_float) (float, int);
-#endif
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_EXTERN_NOINLINE(double, acc_vget_double) (double, int);
-#endif
-ACCLIB_EXTERN_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p, int);
-ACCLIB_EXTERN_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p, int);
-#if !defined(ACC_FN_PATH_MAX)
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
-# define ACC_FN_PATH_MAX 143
-#elif (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN32 || ACC_OS_WIN64)
-# define ACC_FN_PATH_MAX 259
-#elif (ACC_OS_TOS)
-# define ACC_FN_PATH_MAX 259
-#endif
-#endif
-#if !defined(ACC_FN_PATH_MAX)
-# define ACC_FN_PATH_MAX 1023
-#endif
-#if !defined(ACC_FN_NAME_MAX)
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
-# define ACC_FN_NAME_MAX 12
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
-# define ACC_FN_NAME_MAX 12
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-#elif (ACC_OS_DOS32)
-# define ACC_FN_NAME_MAX 12
-#endif
-#endif
-#if !defined(ACC_FN_NAME_MAX)
-# define ACC_FN_NAME_MAX ACC_FN_PATH_MAX
-#endif
-#define ACC_FNMATCH_NOESCAPE 1
-#define ACC_FNMATCH_PATHNAME 2
-#define ACC_FNMATCH_PATHSTAR 4
-#define ACC_FNMATCH_PERIOD 8
-#define ACC_FNMATCH_ASCII_CASEFOLD 16
-ACCLIB_EXTERN(int, acc_fnmatch) (const acc_hchar_p, const acc_hchar_p, int);
-#undef __ACCLIB_USE_OPENDIR
-#if (HAVE_DIRENT_H || ACC_CC_WATCOMC)
-# define __ACCLIB_USE_OPENDIR 1
-# if (ACC_OS_DOS32 && defined(__BORLANDC__))
-# elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-# elif (ACC_OS_OS2 || ACC_OS_OS216)
-# elif (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC)
-# elif (ACC_OS_WIN32 && !(ACC_HAVE_WINDOWS_H))
-# elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
-# undef __ACCLIB_USE_OPENDIR
-# endif
-#endif
-typedef struct
-{
-#if defined(__ACCLIB_USE_OPENDIR)
- void* u_dirp;
-# if (ACC_CC_WATCOMC)
- unsigned short f_time;
- unsigned short f_date;
- unsigned long f_size;
-# endif
- char f_name[ACC_FN_NAME_MAX+1];
-#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
- acclib_handle_t u_handle;
- unsigned f_attr;
- unsigned f_size_low;
- unsigned f_size_high;
- char f_name[ACC_FN_NAME_MAX+1];
-#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_TOS || ACC_OS_WIN16)
- char u_dta[21];
- unsigned char f_attr;
- unsigned short f_time;
- unsigned short f_date;
- unsigned short f_size_low;
- unsigned short f_size_high;
- char f_name[ACC_FN_NAME_MAX+1];
- char u_dirp;
-#else
- void* u_dirp;
- char f_name[ACC_FN_NAME_MAX+1];
-#endif
-} acc_dir_t;
-#ifndef acc_dir_p
-#define acc_dir_p acc_dir_t *
-#endif
-ACCLIB_EXTERN(int, acc_opendir) (acc_dir_p, const char*);
-ACCLIB_EXTERN(int, acc_readdir) (acc_dir_p);
-ACCLIB_EXTERN(int, acc_closedir) (acc_dir_p);
-#if (ACC_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__))
-# define acc_alloca(x) __builtin_alloca((x))
-#elif (ACC_CC_GNUC) && (ACC_OS_CONSOLE_PS2)
-# define acc_alloca(x) __builtin_alloca((x))
-#elif (ACC_CC_BORLANDC || ACC_CC_LCC) && defined(__linux__)
-#elif (HAVE_ALLOCA)
-# define acc_alloca(x) ((void *) (alloca((x))))
-#endif
-#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-# define acc_stackavail() stackavail()
-#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0410))
-# define acc_stackavail() stackavail()
-#elif (ACC_ARCH_I086 && ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0400))
-# if (ACC_OS_WIN16) && (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
-# else
-# define acc_stackavail() stackavail()
-# endif
-#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_DMC || ACC_CC_SYMANTECC))
-# define acc_stackavail() stackavail()
-#elif ((ACC_ARCH_I086) && ACC_CC_MSC && (_MSC_VER >= 700))
-# define acc_stackavail() _stackavail()
-#elif ((ACC_ARCH_I086) && ACC_CC_MSC)
-# define acc_stackavail() stackavail()
-#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && ACC_CC_TURBOC && (__TURBOC__ >= 0x0450))
-# define acc_stackavail() stackavail()
-#elif (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ >= 0x0400))
- ACC_EXTERN_C size_t __cdecl stackavail(void);
-# define acc_stackavail() stackavail()
-#elif ((ACC_ARCH_I086 || ACC_ARCH_I386) && (ACC_CC_WATCOMC))
-# define acc_stackavail() stackavail()
-#elif (ACC_ARCH_I086 && ACC_CC_ZORTECHC)
-# define acc_stackavail() _chkstack()
-#endif
-ACCLIB_EXTERN(acclib_handle_t, acc_get_osfhandle) (int);
-ACCLIB_EXTERN(const char *, acc_getenv) (const char *);
-ACCLIB_EXTERN(int, acc_isatty) (int);
-ACCLIB_EXTERN(int, acc_mkdir) (const char*, unsigned);
-ACCLIB_EXTERN(int, acc_rmdir) (const char*);
-ACCLIB_EXTERN(int, acc_response) (int*, char***);
-ACCLIB_EXTERN(int, acc_set_binmode) (int, int);
-#if defined(acc_int32e_t)
-ACCLIB_EXTERN(acc_int32e_t, acc_muldiv32s) (acc_int32e_t, acc_int32e_t, acc_int32e_t);
-ACCLIB_EXTERN(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t, acc_uint32e_t, acc_uint32e_t);
-#endif
-ACCLIB_EXTERN(void, acc_wildargv) (int*, char***);
-ACCLIB_EXTERN_NOINLINE(void, acc_debug_break) (void);
-ACCLIB_EXTERN_NOINLINE(void, acc_debug_nop) (void);
-ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_query) (void);
-ACCLIB_EXTERN_NOINLINE(int, acc_debug_align_check_enable) (int);
-ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_qemu) (void);
-ACCLIB_EXTERN_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void);
-#if !defined(acc_int64l_t) || (ACC_CFG_NO_DOUBLE)
-# undef __ACCLIB_PCLOCK_USE_RDTSC
-# undef __ACCLIB_PCLOCK_USE_PERFCTR
-# undef __ACCLIB_UCLOCK_USE_RDTSC
-# undef __ACCLIB_UCLOCK_USE_PERFCTR
-#else
-typedef struct {
- void* h;
- int mode;
- double tsc_to_seconds;
- unsigned cpu_type, cpu_features, cpu_khz, cpu_nrctrs;
- const char* cpu_name;
-} acc_perfctr_handle_t;
-typedef struct {
- acc_uint64l_t tsc;
-#if (ACC_OS_POSIX_LINUX)
- acc_uint64l_t pmc[18];
-#else
- acc_uint64l_t pmc[1];
-#endif
-} acc_perfctr_clock_t;
-#ifndef acc_perfctr_handle_p
-#define acc_perfctr_handle_p acc_perfctr_handle_t *
-#endif
-#ifndef acc_perfctr_clock_p
-#define acc_perfctr_clock_p acc_perfctr_clock_t *
-#endif
-ACCLIB_EXTERN(int, acc_perfctr_open) (acc_perfctr_handle_p);
-ACCLIB_EXTERN(int, acc_perfctr_close) (acc_perfctr_handle_p);
-ACCLIB_EXTERN(void, acc_perfctr_read) (acc_perfctr_handle_p, acc_perfctr_clock_p);
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_EXTERN(double, acc_perfctr_get_elapsed) (acc_perfctr_handle_p, const acc_perfctr_clock_p, const acc_perfctr_clock_p);
-ACCLIB_EXTERN(double, acc_perfctr_get_elapsed_tsc) (acc_perfctr_handle_p, acc_uint64l_t);
-#endif
-ACCLIB_EXTERN(int, acc_perfctr_flush_cpu_cache) (acc_perfctr_handle_p, unsigned);
-#endif
-#if defined(acc_int32e_t)
-ACCLIB_EXTERN(int, acc_tsc_read) (acc_uint32e_t*);
-#else
-# undef __ACCLIB_PCLOCK_USE_RDTSC
-# undef __ACCLIB_UCLOCK_USE_RDTSC
-#endif
-struct acc_pclock_handle_t;
-struct acc_pclock_t;
-typedef struct acc_pclock_handle_t acc_pclock_handle_t;
-typedef struct acc_pclock_t acc_pclock_t;
-#ifndef acc_pclock_handle_p
-#define acc_pclock_handle_p acc_pclock_handle_t *
-#endif
-#ifndef acc_pclock_p
-#define acc_pclock_p acc_pclock_t *
-#endif
-#define ACC_PCLOCK_REALTIME 0
-#define ACC_PCLOCK_MONOTONIC 1
-#define ACC_PCLOCK_PROCESS_CPUTIME_ID 2
-#define ACC_PCLOCK_THREAD_CPUTIME_ID 3
-struct acc_pclock_handle_t {
- acclib_handle_t h;
- int mode;
- int read_error;
- const char* name;
- int (*gettime) (acc_pclock_handle_p, acc_pclock_p);
-#if defined(acc_int64l_t)
- acc_uint64l_t ticks_base;
-#endif
-#if (__ACCLIB_PCLOCK_USE_PERFCTR)
- acc_perfctr_handle_t pch;
-#endif
-};
-struct acc_pclock_t {
-#if defined(acc_int64l_t)
- acc_int64l_t tv_sec;
-#else
- acc_int32l_t tv_sec_high;
- acc_uint32l_t tv_sec_low;
-#endif
- acc_uint32l_t tv_nsec;
-};
-ACCLIB_EXTERN(int, acc_pclock_open) (acc_pclock_handle_p, int);
-ACCLIB_EXTERN(int, acc_pclock_open_default) (acc_pclock_handle_p);
-ACCLIB_EXTERN(int, acc_pclock_close) (acc_pclock_handle_p);
-ACCLIB_EXTERN(void, acc_pclock_read) (acc_pclock_handle_p, acc_pclock_p);
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_EXTERN(double, acc_pclock_get_elapsed) (acc_pclock_handle_p, const acc_pclock_p, const acc_pclock_p);
-#endif
-ACCLIB_EXTERN(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p, unsigned);
-#if !defined(acc_int64l_t) || (ACC_CFG_NO_DOUBLE)
-# undef __ACCLIB_UCLOCK_USE_QPC
-#elif (ACC_OS_CYGWIN || ACC_OS_EMX || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
-# define __ACCLIB_UCLOCK_USE_QPC 1
-#else
-# undef __ACCLIB_UCLOCK_USE_QPC
-#endif
-typedef struct {
- acclib_handle_t h;
- int mode;
- int read_error;
- const char* name;
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- acc_perfctr_handle_t pch;
-#endif
-#if (__ACCLIB_UCLOCK_USE_QPC)
- double qpf;
-#endif
-} acc_uclock_handle_t;
-typedef struct {
- union {
- acc_uint32l_t t32;
-#if !(ACC_OS_DOS16 || ACC_OS_WIN16)
-# if !(ACC_CFG_NO_DOUBLE)
- double td;
-# endif
-# if defined(acc_int64l_t)
- acc_int64l_t t64;
-# endif
-#endif
- } ticks;
-#if (__ACCLIB_UCLOCK_USE_RDTSC)
- acc_uint64l_t tsc;
-#endif
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- acc_perfctr_clock_t pcc;
-#endif
-#if (__ACCLIB_UCLOCK_USE_QPC)
- acc_int64l_t qpc;
-#endif
-} acc_uclock_t;
-#ifndef acc_uclock_handle_p
-#define acc_uclock_handle_p acc_uclock_handle_t *
-#endif
-#ifndef acc_uclock_p
-#define acc_uclock_p acc_uclock_t *
-#endif
-ACCLIB_EXTERN(int, acc_uclock_open) (acc_uclock_handle_p);
-ACCLIB_EXTERN(int, acc_uclock_close) (acc_uclock_handle_p);
-ACCLIB_EXTERN(void, acc_uclock_read) (acc_uclock_handle_p, acc_uclock_p);
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_EXTERN(double, acc_uclock_get_elapsed) (acc_uclock_handle_p, const acc_uclock_p, const acc_uclock_p);
-#endif
-ACCLIB_EXTERN(int, acc_uclock_flush_cpu_cache) (acc_uclock_handle_p, unsigned);
-struct acc_getopt_t;
-typedef struct acc_getopt_t acc_getopt_t;
-#ifndef acc_getopt_p
-#define acc_getopt_p acc_getopt_t *
-#endif
-struct acc_getopt_longopt_t;
-typedef struct acc_getopt_longopt_t acc_getopt_longopt_t;
-#ifndef acc_getopt_longopt_p
-#define acc_getopt_longopt_p acc_getopt_longopt_t *
-#endif
-struct acc_getopt_longopt_t {
- const char* name;
- int has_arg;
- int* flag;
- int val;
-};
-struct acc_getopt_t {
- void *user;
- const char *progname;
- int bad_option;
- char *optarg;
- void (*opterr)(acc_getopt_p, const char*, void *);
- int optind;
- int optopt;
- int errcount;
- int argc; char** argv;
- int eof; int shortpos;
- int pending_rotate_first, pending_rotate_middle;
-};
-enum { ACC_GETOPT_NO_ARG, ACC_GETOPT_REQUIRED_ARG, ACC_GETOPT_OPTIONAL_ARG, ACC_GETOPT_EXACT_ARG = 0x10 };
-enum { ACC_GETOPT_PERMUTE, ACC_GETOPT_RETURN_IN_ORDER, ACC_GETOPT_REQUIRE_ORDER };
-ACCLIB_EXTERN(void, acc_getopt_init) (acc_getopt_p g,
- int start_argc, int argc, char** argv);
-ACCLIB_EXTERN(int, acc_getopt) (acc_getopt_p g,
- const char* shortopts,
- const acc_getopt_longopt_p longopts,
- int* longind);
-typedef struct {
- acc_uint32l_t seed;
-} acc_rand31_t;
-#ifndef acc_rand31_p
-#define acc_rand31_p acc_rand31_t *
-#endif
-ACCLIB_EXTERN(void, acc_srand31) (acc_rand31_p, acc_uint32l_t);
-ACCLIB_EXTERN(acc_uint32l_t, acc_rand31) (acc_rand31_p);
-#if defined(acc_int64l_t)
-typedef struct {
- acc_uint64l_t seed;
-} acc_rand48_t;
-#ifndef acc_rand48_p
-#define acc_rand48_p acc_rand48_t *
-#endif
-ACCLIB_EXTERN(void, acc_srand48) (acc_rand48_p, acc_uint32l_t);
-ACCLIB_EXTERN(acc_uint32l_t, acc_rand48) (acc_rand48_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p);
-#endif
-#if defined(acc_int64l_t)
-typedef struct {
- acc_uint64l_t seed;
-} acc_rand64_t;
-#ifndef acc_rand64_p
-#define acc_rand64_p acc_rand64_t *
-#endif
-ACCLIB_EXTERN(void, acc_srand64) (acc_rand64_p, acc_uint64l_t);
-ACCLIB_EXTERN(acc_uint32l_t, acc_rand64) (acc_rand64_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p);
-#endif
-typedef struct {
- unsigned n;
- acc_uint32l_t s[624];
-} acc_randmt_t;
-#ifndef acc_randmt_p
-#define acc_randmt_p acc_randmt_t *
-#endif
-ACCLIB_EXTERN(void, acc_srandmt) (acc_randmt_p, acc_uint32l_t);
-ACCLIB_EXTERN(acc_uint32l_t, acc_randmt) (acc_randmt_p);
-ACCLIB_EXTERN(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p);
-#if defined(acc_int64l_t)
-typedef struct {
- unsigned n;
- acc_uint64l_t s[312];
-} acc_randmt64_t;
-#ifndef acc_randmt64_p
-#define acc_randmt64_p acc_randmt64_t *
-#endif
-ACCLIB_EXTERN(void, acc_srandmt64) (acc_randmt64_p, acc_uint64l_t);
-ACCLIB_EXTERN(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p);
-#endif
-#define ACC_SPAWN_P_WAIT 0
-#define ACC_SPAWN_P_NOWAIT 1
-ACCLIB_EXTERN(int, acc_spawnv) (int mode, const char* fn, const char* const * argv);
-ACCLIB_EXTERN(int, acc_spawnvp) (int mode, const char* fn, const char* const * argv);
-ACCLIB_EXTERN(int, acc_spawnve) (int mode, const char* fn, const char* const * argv, const char * const envp);
-#endif
-#endif
-#if defined(ACC_WANT_ACC_CXX_H)
-# undef ACC_WANT_ACC_CXX_H
-#ifndef __ACC_CXX_H_INCLUDED
-#define __ACC_CXX_H_INCLUDED 1
-#if defined(__cplusplus)
-#if defined(ACC_CXX_NOTHROW)
-#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020800ul))
-#elif (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
-#elif (ACC_CC_HIGHC)
-#elif (ACC_CC_MSC && (_MSC_VER < 1100))
-#elif (ACC_CC_NDPC)
-#elif (ACC_CC_TURBOC)
-#elif (ACC_CC_WATCOMC && !defined(_CPPUNWIND))
-#elif (ACC_CC_ZORTECHC)
-#else
-# define ACC_CXX_NOTHROW throw()
-#endif
-#if !defined(ACC_CXX_NOTHROW)
-# define ACC_CXX_NOTHROW /*empty*/
-#endif
-#if defined(__ACC_CXX_DO_NEW)
-#elif (ACC_CC_NDPC || ACC_CC_PGI)
-# define __ACC_CXX_DO_NEW { return 0; }
-#elif ((ACC_CC_BORLANDC || ACC_CC_TURBOC) && ACC_ARCH_I086)
-# define __ACC_CXX_DO_NEW { return 0; }
-#else
-# define __ACC_CXX_DO_NEW ;
-#endif
-#if defined(__ACC_CXX_DO_DELETE)
-#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
-# define __ACC_CXX_DO_DELETE { }
-#else
-# define __ACC_CXX_DO_DELETE ACC_CXX_NOTHROW { }
-#endif
-#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0450))
-#elif (ACC_CC_MSC && ACC_MM_HUGE)
-# define ACC_CXX_DISABLE_NEW_DELETE private:
-#elif (ACC_CC_MSC && (_MSC_VER < 1100))
-#elif (ACC_CC_NDPC)
-#elif (ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
-#elif (ACC_CC_TURBOC)
-#elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
-#else
-# define __ACC_CXX_HAVE_ARRAY_NEW 1
-#endif
-#if (__ACC_CXX_HAVE_ARRAY_NEW)
-# define __ACC_CXX_HAVE_PLACEMENT_NEW 1
-#endif
-#if (__ACC_CXX_HAVE_PLACEMENT_NEW)
-# if (ACC_CC_GNUC >= 0x030000ul)
-# define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
-# elif (ACC_CC_INTELC)
-# define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
-# elif (ACC_CC_MSC && (_MSC_VER >= 1200))
-# define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
-# elif (ACC_CC_CLANG || ACC_CC_LLVM || ACC_CC_PATHSCALE)
-# define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
-# elif (ACC_CC_PGI)
-# define __ACC_CXX_HAVE_PLACEMENT_DELETE 1
-# endif
-#endif
-#if defined(ACC_CXX_DISABLE_NEW_DELETE)
-#elif defined(new) || defined(delete)
-# define ACC_CXX_DISABLE_NEW_DELETE private:
-#elif (ACC_CC_GNUC && (ACC_CC_GNUC < 0x025b00ul))
-# define ACC_CXX_DISABLE_NEW_DELETE private:
-#elif (ACC_CC_HIGHC)
-# define ACC_CXX_DISABLE_NEW_DELETE private:
-#elif !(__ACC_CXX_HAVE_ARRAY_NEW)
-# define ACC_CXX_DISABLE_NEW_DELETE \
- protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
- protected: static void* operator new(size_t) __ACC_CXX_DO_NEW \
- private:
-#else
-# define ACC_CXX_DISABLE_NEW_DELETE \
- protected: static void operator delete(void*) __ACC_CXX_DO_DELETE \
- static void operator delete[](void*) __ACC_CXX_DO_DELETE \
- private: static void* operator new(size_t) __ACC_CXX_DO_NEW \
- static void* operator new[](size_t) __ACC_CXX_DO_NEW
-#endif
-#if defined(ACC_CXX_TRIGGER_FUNCTION)
-#else
-# define ACC_CXX_TRIGGER_FUNCTION \
- protected: virtual const void* acc_cxx_trigger_function() const; \
- private:
-#endif
-#if defined(ACC_CXX_TRIGGER_FUNCTION_IMPL)
-#else
-# define ACC_CXX_TRIGGER_FUNCTION_IMPL(klass) \
- const void* klass::acc_cxx_trigger_function() const { return 0; }
-#endif
-#endif
-#endif
-#endif
-#if defined(ACC_WANT_ACC_CHK_CH)
-# undef ACC_WANT_ACC_CHK_CH
-#if !defined(ACCCHK_ASSERT)
-# define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr)
-#endif
-#if !defined(ACCCHK_ASSERT_SIGN_T)
-# define ACCCHK_ASSERT_SIGN_T(type,relop) \
- ACCCHK_ASSERT( (type) (-1) relop (type) 0 ) \
- ACCCHK_ASSERT( (type) (~(type)0) relop (type) 0 ) \
- ACCCHK_ASSERT( (type) (~(type)0) == (type) (-1) )
-#endif
-#if !defined(ACCCHK_ASSERT_IS_SIGNED_T)
-# define ACCCHK_ASSERT_IS_SIGNED_T(type) ACCCHK_ASSERT_SIGN_T(type,<)
-#endif
-#if !defined(ACCCHK_ASSERT_IS_UNSIGNED_T)
-# if (ACC_BROKEN_INTEGRAL_PROMOTION)
-# define ACCCHK_ASSERT_IS_UNSIGNED_T(type) \
- ACCCHK_ASSERT( (type) (-1) > (type) 0 )
-# else
-# define ACCCHK_ASSERT_IS_UNSIGNED_T(type) ACCCHK_ASSERT_SIGN_T(type,>)
-# endif
-#endif
-#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0550) && (__BORLANDC__ < 0x0560))
-# pragma option push -w-8055
-#elif (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0550))
-# pragma option push -w-osh
-#endif
-#if (ACC_0xffffffffL - ACC_UINT32_C(4294967294) != 1)
-# error "preprocessor error 1"
-#endif
-#if (ACC_0xffffffffL - ACC_UINT32_C(0xfffffffd) != 2)
-# error "preprocessor error 2"
-#endif
-#define ACCCHK_VAL 1
-#define ACCCHK_TMP1 ACCCHK_VAL
-#undef ACCCHK_VAL
-#define ACCCHK_VAL 2
-#define ACCCHK_TMP2 ACCCHK_VAL
-#if (ACCCHK_TMP1 != 2)
-# error "preprocessor error 3a"
-#endif
-#if (ACCCHK_TMP2 != 2)
-# error "preprocessor error 3b"
-#endif
-#undef ACCCHK_VAL
-#if (ACCCHK_TMP2)
-# error "preprocessor error 3c"
-#endif
-#if (ACCCHK_TMP2 + 0 != 0)
-# error "preprocessor error 3d"
-#endif
-#undef ACCCHK_TMP1
-#undef ACCCHK_TMP2
-#if 0 || defined(ACCCHK_CFG_PEDANTIC)
-# if (ACC_ARCH_MIPS) && defined(_MIPS_SZINT)
- ACCCHK_ASSERT((_MIPS_SZINT) == 8 * sizeof(int))
-# endif
-# if (ACC_ARCH_MIPS) && defined(_MIPS_SZLONG)
- ACCCHK_ASSERT((_MIPS_SZLONG) == 8 * sizeof(long))
-# endif
-# if (ACC_ARCH_MIPS) && defined(_MIPS_SZPTR)
- ACCCHK_ASSERT((_MIPS_SZPTR) == 8 * sizeof(void *))
-# endif
-#endif
- ACCCHK_ASSERT(1 == 1)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255)
-#if (SIZEOF_INT >= 2)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
-#else
- ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
-#endif
-#if (SIZEOF_INT >= 4)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
-#endif
-#if (SIZEOF_LONG >= 4)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,32) == 0xffffffffUL)
-#endif
-#if (SIZEOF_LONG >= 8)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
-#endif
-#if !(ACC_BROKEN_INTEGRAL_PROMOTION)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1u,SIZEOF_INT*8) == ~0u)
- ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,SIZEOF_LONG*8) == ~0ul)
-#endif
-#if !(ACC_BROKEN_SIGNED_RIGHT_SHIFT)
- ACCCHK_ASSERT(((-1) >> 7) == -1)
-#endif
- ACCCHK_ASSERT(((1) >> 7) == 0)
- ACCCHK_ASSERT((~0l & ~0) == ~0l)
- ACCCHK_ASSERT((~0l & ~0u) == ~0u)
- ACCCHK_ASSERT((~0ul & ~0) == ~0ul)
- ACCCHK_ASSERT((~0ul & ~0u) == ~0u)
-#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
-#elif (SIZEOF_INT == 2)
- ACCCHK_ASSERT((~0l & ~0u) == 0xffffU)
- ACCCHK_ASSERT((~0ul & ~0u) == 0xffffU)
-#elif (SIZEOF_INT == 4)
- ACCCHK_ASSERT((~0l & ~0u) == 0xffffffffU)
- ACCCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
-#endif
- ACCCHK_ASSERT_IS_SIGNED_T(signed char)
- ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
- ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))
- ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
- ACCCHK_ASSERT(sizeof(char) == 1)
-#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
-#else
- ACCCHK_ASSERT(sizeof(char) == sizeof((char)0))
-#endif
-#if defined(__cplusplus)
- ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
-#else
-# if (ACC_CC_DMC)
-# else
- ACCCHK_ASSERT(sizeof('\0') == sizeof(int))
-# endif
-#endif
-#if defined(__acc_alignof)
- ACCCHK_ASSERT(__acc_alignof(char) == 1)
- ACCCHK_ASSERT(__acc_alignof(signed char) == 1)
- ACCCHK_ASSERT(__acc_alignof(unsigned char) == 1)
-#if defined(acc_int16e_t)
- ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) >= 1)
- ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) <= 2)
-#endif
-#if defined(acc_int32e_t)
- ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) >= 1)
- ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) <= 4)
-#endif
-#endif
- ACCCHK_ASSERT_IS_SIGNED_T(short)
- ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
- ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
-#if !(ACC_ABI_I8LP16)
- ACCCHK_ASSERT(sizeof(short) >= 2)
-#endif
- ACCCHK_ASSERT(sizeof(short) >= sizeof(char))
-#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
-#else
- ACCCHK_ASSERT(sizeof(short) == sizeof((short)0))
-#endif
-#if (SIZEOF_SHORT > 0)
- ACCCHK_ASSERT(sizeof(short) == SIZEOF_SHORT)
-#endif
- ACCCHK_ASSERT_IS_SIGNED_T(int)
- ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned int)
- ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned int))
-#if !(ACC_ABI_I8LP16)
- ACCCHK_ASSERT(sizeof(int) >= 2)
-#endif
- ACCCHK_ASSERT(sizeof(int) >= sizeof(short))
- ACCCHK_ASSERT(sizeof(int) == sizeof(0))
- ACCCHK_ASSERT(sizeof(int) == sizeof((int)0))
-#if (SIZEOF_INT > 0)
- ACCCHK_ASSERT(sizeof(int) == SIZEOF_INT)
-#endif
- ACCCHK_ASSERT(sizeof(0) == sizeof(int))
- ACCCHK_ASSERT_IS_SIGNED_T(long)
- ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
- ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
-#if !(ACC_ABI_I8LP16)
- ACCCHK_ASSERT(sizeof(long) >= 4)
-#endif
- ACCCHK_ASSERT(sizeof(long) >= sizeof(int))
- ACCCHK_ASSERT(sizeof(long) == sizeof(0L))
- ACCCHK_ASSERT(sizeof(long) == sizeof((long)0))
-#if (SIZEOF_LONG > 0)
- ACCCHK_ASSERT(sizeof(long) == SIZEOF_LONG)
-#endif
- ACCCHK_ASSERT(sizeof(0L) == sizeof(long))
- ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)
- ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
-#if (SIZEOF_SIZE_T > 0)
- ACCCHK_ASSERT(sizeof(size_t) == SIZEOF_SIZE_T)
-#endif
- ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
- ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
-#if !(ACC_BROKEN_SIZEOF)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof((char*)0 - (char*)0))
-# if (ACC_HAVE_MM_HUGE_PTR)
- ACCCHK_ASSERT(4 == sizeof((char __huge*)0 - (char __huge*)0))
-# endif
-#endif
-#if (SIZEOF_PTRDIFF_T > 0)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == SIZEOF_PTRDIFF_T)
-#endif
- ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))
-#if (SIZEOF_VOID_P > 0)
- ACCCHK_ASSERT(sizeof(void*) == SIZEOF_VOID_P)
- ACCCHK_ASSERT(sizeof(char*) == SIZEOF_VOID_P)
-#endif
-#if (ACC_HAVE_MM_HUGE_PTR)
- ACCCHK_ASSERT(4 == sizeof(void __huge*))
- ACCCHK_ASSERT(4 == sizeof(char __huge*))
-#endif
-#if (ACC_ABI_I8LP16)
- ACCCHK_ASSERT((((1u << 7) + 1) >> 7) == 1)
- ACCCHK_ASSERT((((1ul << 15) + 1) >> 15) == 1)
-#else
- ACCCHK_ASSERT((((1u << 15) + 1) >> 15) == 1)
- ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
-#endif
-#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
-#elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
-#else
- ACCCHK_ASSERT((1 << (8*SIZEOF_INT-1)) < 0)
-#endif
- ACCCHK_ASSERT((1u << (8*SIZEOF_INT-1)) > 0)
-#if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
-#else
- ACCCHK_ASSERT((1l << (8*SIZEOF_LONG-1)) < 0)
-#endif
- ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
-#if defined(acc_int16e_t)
- ACCCHK_ASSERT(sizeof(acc_int16e_t) == 2)
- ACCCHK_ASSERT(sizeof(acc_int16e_t) == SIZEOF_ACC_INT16E_T)
- ACCCHK_ASSERT(sizeof(acc_uint16e_t) == 2)
- ACCCHK_ASSERT(sizeof(acc_int16e_t) == sizeof(acc_uint16e_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int16e_t)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint16e_t)
-#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
-#else
- ACCCHK_ASSERT(((acc_uint16e_t)(~(acc_uint16e_t)0ul) >> 15) == 1)
-#endif
- ACCCHK_ASSERT( (acc_int16e_t) (1 + ~(acc_int16e_t)0) == 0)
-#if defined(ACCCHK_CFG_PEDANTIC)
- ACCCHK_ASSERT( (acc_uint16e_t)(1 + ~(acc_uint16e_t)0) == 0)
-#endif
-#endif
-#if defined(acc_int32e_t)
- ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)
- ACCCHK_ASSERT(sizeof(acc_int32e_t) == SIZEOF_ACC_INT32E_T)
- ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)
- ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)
- ACCCHK_ASSERT(((( (acc_int32e_t)1 << 30) + 1) >> 30) == 1)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)
- ACCCHK_ASSERT(((( (acc_uint32e_t)1 << 31) + 1) >> 31) == 1)
- ACCCHK_ASSERT(((acc_uint32e_t)(~(acc_uint32e_t)0ul) >> 31) == 1)
- ACCCHK_ASSERT( (acc_int32e_t) (1 + ~(acc_int32e_t)0) == 0)
-#if defined(ACCCHK_CFG_PEDANTIC)
- ACCCHK_ASSERT( (acc_uint32e_t)(1 + ~(acc_uint32e_t)0) == 0)
-#endif
-#endif
-#if defined(acc_int32e_t)
- ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
-#endif
- ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
- ACCCHK_ASSERT(sizeof(acc_int32l_t) == SIZEOF_ACC_INT32L_T)
- ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
- ACCCHK_ASSERT(sizeof(acc_int32l_t) == sizeof(acc_uint32l_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int32l_t)
- ACCCHK_ASSERT(((( (acc_int32l_t)1 << 30) + 1) >> 30) == 1)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32l_t)
- ACCCHK_ASSERT(((( (acc_uint32l_t)1 << 31) + 1) >> 31) == 1)
- ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
-#if defined(acc_int32e_t)
- ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
-#endif
- ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
- ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
- ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
- ACCCHK_ASSERT(sizeof(acc_int32f_t) == SIZEOF_ACC_INT32F_T)
- ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= 4)
- ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= sizeof(acc_uint32l_t))
- ACCCHK_ASSERT(sizeof(acc_int32f_t) == sizeof(acc_uint32f_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int32f_t)
- ACCCHK_ASSERT(((( (acc_int32f_t)1 << 30) + 1) >> 30) == 1)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32f_t)
- ACCCHK_ASSERT(((( (acc_uint32f_t)1 << 31) + 1) >> 31) == 1)
-#if defined(acc_int64e_t)
- ACCCHK_ASSERT(sizeof(acc_int64e_t) == 8)
- ACCCHK_ASSERT(sizeof(acc_int64e_t) == SIZEOF_ACC_INT64E_T)
- ACCCHK_ASSERT(sizeof(acc_uint64e_t) == 8)
- ACCCHK_ASSERT(sizeof(acc_int64e_t) == sizeof(acc_uint64e_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int64e_t)
-#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
-#else
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64e_t)
-#endif
-#endif
-#if defined(acc_int64l_t)
-#if defined(acc_int64e_t)
- ACCCHK_ASSERT(sizeof(acc_int64l_t) >= sizeof(acc_int64e_t))
-#endif
- ACCCHK_ASSERT(sizeof(acc_int64l_t) >= 8)
- ACCCHK_ASSERT(sizeof(acc_int64l_t) == SIZEOF_ACC_INT64L_T)
- ACCCHK_ASSERT(sizeof(acc_uint64l_t) >= 8)
- ACCCHK_ASSERT(sizeof(acc_int64l_t) == sizeof(acc_uint64l_t))
- ACCCHK_ASSERT_IS_SIGNED_T(acc_int64l_t)
- ACCCHK_ASSERT(((( (acc_int64l_t)1 << 62) + 1) >> 62) == 1)
- ACCCHK_ASSERT(((( ACC_INT64_C(1) << 62) + 1) >> 62) == 1)
-#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
-#else
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64l_t)
- ACCCHK_ASSERT(ACC_UINT64_C(18446744073709551615) > 0)
-#endif
- ACCCHK_ASSERT(((( (acc_uint64l_t)1 << 63) + 1) >> 63) == 1)
- ACCCHK_ASSERT(((( ACC_UINT64_C(1) << 63) + 1) >> 63) == 1)
-#if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020600ul))
- ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807) > ACC_INT64_C(0))
-#else
- ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807) > 0)
-#endif
- ACCCHK_ASSERT(ACC_INT64_C(-9223372036854775807) - 1 < 0)
- ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483629) == 721)
- ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483647) == 1)
- ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483629) == 721)
- ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483647) == 1)
-#endif
-#if !defined(__ACC_INTPTR_T_IS_POINTER)
- ACCCHK_ASSERT_IS_SIGNED_T(acc_intptr_t)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uintptr_t)
-#endif
- ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == SIZEOF_ACC_INTPTR_T)
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
-#if defined(acc_word_t)
- ACCCHK_ASSERT(ACC_WORDSIZE == SIZEOF_ACC_WORD_T)
- ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
- ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
- ACCCHK_ASSERT(sizeof(acc_word_t) == SIZEOF_ACC_WORD_T)
- ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
-#endif
-#if defined(ACC_INT16_C)
- ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
- ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
- ACCCHK_ASSERT((ACC_UINT16_C(0xffff) >> 15) == 1)
-#endif
-#if defined(ACC_INT32_C)
- ACCCHK_ASSERT(sizeof(ACC_INT32_C(0)) >= 4)
- ACCCHK_ASSERT(sizeof(ACC_UINT32_C(0)) >= 4)
- ACCCHK_ASSERT((ACC_UINT32_C(0xffffffff) >> 31) == 1)
-#endif
-#if defined(ACC_INT64_C)
-#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0560))
-#else
- ACCCHK_ASSERT(sizeof(ACC_INT64_C(0)) >= 8)
- ACCCHK_ASSERT(sizeof(ACC_UINT64_C(0)) >= 8)
-#endif
- ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) >> 63) == 1)
- ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0) == ACC_UINT64_C(0xffffffffffffffff))
- ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0l) == ACC_UINT64_C(0xffffffffffffffff))
-#if (SIZEOF_INT == 4)
-# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
-# else
- ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0u) == 0xffffffffu)
-# endif
-#endif
-#if (SIZEOF_LONG == 4)
-# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
-# else
- ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0ul) == 0xfffffffful)
-# endif
-#endif
-#endif
-#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
- ACCCHK_ASSERT(sizeof(void*) == 2)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == 2)
-#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
- ACCCHK_ASSERT(sizeof(void*) == 4)
-#endif
-#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_COMPACT)
- ACCCHK_ASSERT(sizeof(void (*)(void)) == 2)
-#elif (ACC_MM_MEDIUM || ACC_MM_LARGE || ACC_MM_HUGE)
- ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
-#endif
-#if (ACC_ABI_ILP32)
- ACCCHK_ASSERT(sizeof(int) == 4)
- ACCCHK_ASSERT(sizeof(long) == 4)
- ACCCHK_ASSERT(sizeof(void*) == 4)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ABI_ILP64)
- ACCCHK_ASSERT(sizeof(int) == 8)
- ACCCHK_ASSERT(sizeof(long) == 8)
- ACCCHK_ASSERT(sizeof(void*) == 8)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ABI_IP32L64)
- ACCCHK_ASSERT(sizeof(int) == 4)
- ACCCHK_ASSERT(sizeof(long) == 8)
- ACCCHK_ASSERT(sizeof(void*) == 4)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ABI_LLP64)
- ACCCHK_ASSERT(sizeof(int) == 4)
- ACCCHK_ASSERT(sizeof(long) == 4)
- ACCCHK_ASSERT(sizeof(void*) == 8)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ABI_LP32)
- ACCCHK_ASSERT(sizeof(int) == 2)
- ACCCHK_ASSERT(sizeof(long) == 4)
- ACCCHK_ASSERT(sizeof(void*) == 4)
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ABI_LP64)
- ACCCHK_ASSERT(sizeof(int) == 4)
- ACCCHK_ASSERT(sizeof(long) == 8)
- ACCCHK_ASSERT(sizeof(void*) == 8)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_ARCH_I086)
- ACCCHK_ASSERT(sizeof(size_t) == 2)
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#elif (ACC_ARCH_I386 || ACC_ARCH_M68K)
- ACCCHK_ASSERT(sizeof(size_t) == 4)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
- ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
-#endif
-#if (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_WIN32)
- ACCCHK_ASSERT(sizeof(size_t) == 4)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == 4)
- ACCCHK_ASSERT(sizeof(void (*)(void)) == 4)
-#elif (ACC_OS_WIN64)
- ACCCHK_ASSERT(sizeof(size_t) == 8)
- ACCCHK_ASSERT(sizeof(ptrdiff_t) == 8)
- ACCCHK_ASSERT(sizeof(void (*)(void)) == 8)
-#endif
-#if (ACC_CC_NDPC)
-#elif (SIZEOF_INT > 1)
- ACCCHK_ASSERT( (int) ((unsigned char) ((signed char) -1)) == 255)
-#endif
-#if (ACC_CC_KEILC)
-#elif (ACC_CC_NDPC)
-#elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC)
-#elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
-#elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
- ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
-#endif
-#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
-# pragma option pop
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_UA)
-# undef ACC_WANT_ACCLIB_UA
-#define __ACCLIB_UA_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(unsigned, acc_ua_get_be16) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_BE16)
- return ACC_UA_GET_BE16(p);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((unsigned)b[1]) | ((unsigned)b[0] << 8);
-#endif
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be24) (const acc_hvoid_p p)
-{
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint32l_t)b[2]) | ((acc_uint32l_t)b[1] << 8) | ((acc_uint32l_t)b[0] << 16);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_be32) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_BE32)
- return ACC_UA_GET_BE32(p);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint32l_t)b[3]) | ((acc_uint32l_t)b[2] << 8) | ((acc_uint32l_t)b[1] << 16) | ((acc_uint32l_t)b[0] << 24);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_be16) (acc_hvoid_p p, unsigned v)
-{
-#if defined(ACC_UA_SET_BE16)
- ACC_UA_SET_BE16(p, v);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[1] = (unsigned char) ((v >> 0) & 0xff);
- b[0] = (unsigned char) ((v >> 8) & 0xff);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_be24) (acc_hvoid_p p, acc_uint32l_t v)
-{
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[2] = (unsigned char) ((v >> 0) & 0xff);
- b[1] = (unsigned char) ((v >> 8) & 0xff);
- b[0] = (unsigned char) ((v >> 16) & 0xff);
-}
-ACCLIB_PUBLIC(void, acc_ua_set_be32) (acc_hvoid_p p, acc_uint32l_t v)
-{
-#if defined(ACC_UA_SET_BE32)
- ACC_UA_SET_BE32(p, v);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[3] = (unsigned char) ((v >> 0) & 0xff);
- b[2] = (unsigned char) ((v >> 8) & 0xff);
- b[1] = (unsigned char) ((v >> 16) & 0xff);
- b[0] = (unsigned char) ((v >> 24) & 0xff);
-#endif
-}
-ACCLIB_PUBLIC(unsigned, acc_ua_get_le16) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_LE16)
- return ACC_UA_GET_LE16(p);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((unsigned)b[0]) | ((unsigned)b[1] << 8);
-#endif
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le24) (const acc_hvoid_p p)
-{
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint32l_t)b[0]) | ((acc_uint32l_t)b[1] << 8) | ((acc_uint32l_t)b[2] << 16);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_ua_get_le32) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_LE32)
- return ACC_UA_GET_LE32(p);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint32l_t)b[0]) | ((acc_uint32l_t)b[1] << 8) | ((acc_uint32l_t)b[2] << 16) | ((acc_uint32l_t)b[3] << 24);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_le16) (acc_hvoid_p p, unsigned v)
-{
-#if defined(ACC_UA_SET_LE16)
- ACC_UA_SET_LE16(p, v);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[0] = (unsigned char) ((v >> 0) & 0xff);
- b[1] = (unsigned char) ((v >> 8) & 0xff);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_le24) (acc_hvoid_p p, acc_uint32l_t v)
-{
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[0] = (unsigned char) ((v >> 0) & 0xff);
- b[1] = (unsigned char) ((v >> 8) & 0xff);
- b[2] = (unsigned char) ((v >> 16) & 0xff);
-}
-ACCLIB_PUBLIC(void, acc_ua_set_le32) (acc_hvoid_p p, acc_uint32l_t v)
-{
-#if defined(ACC_UA_SET_LE32)
- ACC_UA_SET_LE32(p, v);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[0] = (unsigned char) ((v >> 0) & 0xff);
- b[1] = (unsigned char) ((v >> 8) & 0xff);
- b[2] = (unsigned char) ((v >> 16) & 0xff);
- b[3] = (unsigned char) ((v >> 24) & 0xff);
-#endif
-}
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_be64) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_BE64)
- return ACC_UA_GET_BE64(p);
-#elif defined(ACC_UA_GET_BE32)
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- acc_uint32e_t v0, v1;
- v1 = ACC_UA_GET_BE32(b + 0);
- v0 = ACC_UA_GET_BE32(b + 4);
- return ((acc_uint64l_t)v0) | ((acc_uint64l_t)v1 << 32);
-#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint64l_t)b[7]) | ((acc_uint64l_t)b[6] << 8) | ((acc_uint64l_t)b[5] << 16) | ((acc_uint64l_t)b[4] << 24) | ((acc_uint64l_t)b[3] << 32) | ((acc_uint64l_t)b[2] << 40) | ((acc_uint64l_t)b[1] << 48) | ((acc_uint64l_t)b[0] << 56);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- acc_uint32l_t v0, v1;
- v1 = ((acc_uint32l_t)b[3]) | ((acc_uint32l_t)b[2] << 8) | ((acc_uint32l_t)b[1] << 16) | ((acc_uint32l_t)b[0] << 24);
- b += 4;
- v0 = ((acc_uint32l_t)b[3]) | ((acc_uint32l_t)b[2] << 8) | ((acc_uint32l_t)b[1] << 16) | ((acc_uint32l_t)b[0] << 24);
- return ((acc_uint64l_t)v0) | ((acc_uint64l_t)v1 << 32);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_be64) (acc_hvoid_p p, acc_uint64l_t v)
-{
-#if defined(ACC_UA_SET_BE64)
- ACC_UA_SET_BE64(p, v);
-#elif defined(ACC_UA_SET_BE32)
- acc_hbyte_p b = (acc_hbyte_p) p;
- ACC_UA_SET_BE32(b + 4, (v >> 0));
- ACC_UA_SET_BE32(b + 0, (v >> 32));
-#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[7] = (unsigned char) ((v >> 0) & 0xff);
- b[6] = (unsigned char) ((v >> 8) & 0xff);
- b[5] = (unsigned char) ((v >> 16) & 0xff);
- b[4] = (unsigned char) ((v >> 24) & 0xff);
- b[3] = (unsigned char) ((v >> 32) & 0xff);
- b[2] = (unsigned char) ((v >> 40) & 0xff);
- b[1] = (unsigned char) ((v >> 48) & 0xff);
- b[0] = (unsigned char) ((v >> 56) & 0xff);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- acc_uint32l_t x;
- x = (acc_uint32l_t) (v >> 0);
- b[7] = (unsigned char) ((x >> 0) & 0xff);
- b[6] = (unsigned char) ((x >> 8) & 0xff);
- b[5] = (unsigned char) ((x >> 16) & 0xff);
- b[4] = (unsigned char) ((x >> 24) & 0xff);
- x = (acc_uint32l_t) (v >> 32);
- b[3] = (unsigned char) ((x >> 0) & 0xff);
- b[2] = (unsigned char) ((x >> 8) & 0xff);
- b[1] = (unsigned char) ((x >> 16) & 0xff);
- b[0] = (unsigned char) ((x >> 24) & 0xff);
-#endif
-}
-#endif
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC(acc_uint64l_t, acc_ua_get_le64) (const acc_hvoid_p p)
-{
-#if defined(ACC_UA_GET_LE64)
- return ACC_UA_GET_LE64(p);
-#elif defined(ACC_UA_GET_LE32)
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- acc_uint32e_t v0, v1;
- v0 = ACC_UA_GET_LE32(b + 0);
- v1 = ACC_UA_GET_LE32(b + 4);
- return ((acc_uint64l_t)v0) | ((acc_uint64l_t)v1 << 32);
-#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- return ((acc_uint64l_t)b[0]) | ((acc_uint64l_t)b[1] << 8) | ((acc_uint64l_t)b[2] << 16) | ((acc_uint64l_t)b[3] << 24) | ((acc_uint64l_t)b[4] << 32) | ((acc_uint64l_t)b[5] << 40) | ((acc_uint64l_t)b[6] << 48) | ((acc_uint64l_t)b[7] << 56);
-#else
- const acc_hbyte_p b = (const acc_hbyte_p) p;
- acc_uint32l_t v0, v1;
- v0 = ((acc_uint32l_t)b[0]) | ((acc_uint32l_t)b[1] << 8) | ((acc_uint32l_t)b[2] << 16) | ((acc_uint32l_t)b[3] << 24);
- b += 4;
- v1 = ((acc_uint32l_t)b[0]) | ((acc_uint32l_t)b[1] << 8) | ((acc_uint32l_t)b[2] << 16) | ((acc_uint32l_t)b[3] << 24);
- return ((acc_uint64l_t)v0) | ((acc_uint64l_t)v1 << 32);
-#endif
-}
-ACCLIB_PUBLIC(void, acc_ua_set_le64) (acc_hvoid_p p, acc_uint64l_t v)
-{
-#if defined(ACC_UA_SET_LE64)
- ACC_UA_SET_LE64(p, v);
-#elif defined(ACC_UA_SET_LE32)
- acc_hbyte_p b = (acc_hbyte_p) p;
- ACC_UA_SET_LE32(b + 0, (v >> 0));
- ACC_UA_SET_LE32(b + 4, (v >> 32));
-#elif (ACC_SIZEOF_LONG >= 8) || (ACC_SIZEOF_SIZE_T >= 8)
- acc_hbyte_p b = (acc_hbyte_p) p;
- b[0] = (unsigned char) ((v >> 0) & 0xff);
- b[1] = (unsigned char) ((v >> 8) & 0xff);
- b[2] = (unsigned char) ((v >> 16) & 0xff);
- b[3] = (unsigned char) ((v >> 24) & 0xff);
- b[4] = (unsigned char) ((v >> 32) & 0xff);
- b[5] = (unsigned char) ((v >> 40) & 0xff);
- b[6] = (unsigned char) ((v >> 48) & 0xff);
- b[7] = (unsigned char) ((v >> 56) & 0xff);
-#else
- acc_hbyte_p b = (acc_hbyte_p) p;
- acc_uint32l_t x;
- x = (acc_uint32l_t) (v >> 0);
- b[0] = (unsigned char) ((x >> 0) & 0xff);
- b[1] = (unsigned char) ((x >> 8) & 0xff);
- b[2] = (unsigned char) ((x >> 16) & 0xff);
- b[3] = (unsigned char) ((x >> 24) & 0xff);
- x = (acc_uint32l_t) (v >> 32);
- b[4] = (unsigned char) ((x >> 0) & 0xff);
- b[5] = (unsigned char) ((x >> 8) & 0xff);
- b[6] = (unsigned char) ((x >> 16) & 0xff);
- b[7] = (unsigned char) ((x >> 24) & 0xff);
-#endif
-}
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_VGET)
-# undef ACC_WANT_ACCLIB_VGET
-#define __ACCLIB_VGET_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if !defined(ACCLIB_PUBLIC_NOINLINE)
-# if !defined(__acc_noinline)
-# define ACCLIB_PUBLIC_NOINLINE(r,f) r __ACCLIB_FUNCNAME(f)
-# elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
-# define ACCLIB_PUBLIC_NOINLINE(r,f) __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
-# else
-# define ACCLIB_PUBLIC_NOINLINE(r,f) __acc_noinline r __ACCLIB_FUNCNAME(f)
-# endif
-#endif
-#if (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
-extern void* volatile __acc_vget_ptr;
-void* volatile __attribute__((__used__)) __acc_vget_ptr = (void *) 0;
-#else
-extern void* volatile __acc_vget_ptr;
-void* volatile __acc_vget_ptr = (void *) 0;
-#endif
-#ifndef __ACCLIB_VGET_BODY
-#define __ACCLIB_VGET_BODY(T) \
- if __acc_unlikely(__acc_vget_ptr) { \
- * (T *) __acc_vget_ptr = v; \
- * (int *) __acc_vget_ptr = expr; \
- v = * (T *) __acc_vget_ptr; \
- } \
- return v;
-#endif
-ACCLIB_PUBLIC_NOINLINE(short, acc_vget_short) (short v, int expr)
-{
- __ACCLIB_VGET_BODY(short)
-}
-ACCLIB_PUBLIC_NOINLINE(int, acc_vget_int) (int v, int expr)
-{
- __ACCLIB_VGET_BODY(int)
-}
-ACCLIB_PUBLIC_NOINLINE(long, acc_vget_long) (long v, int expr)
-{
- __ACCLIB_VGET_BODY(long)
-}
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC_NOINLINE(acc_int64l_t, acc_vget_acc_int64l_t) (acc_int64l_t v, int expr)
-{
- __ACCLIB_VGET_BODY(acc_int64l_t)
-}
-#endif
-ACCLIB_PUBLIC_NOINLINE(acc_hsize_t, acc_vget_acc_hsize_t) (acc_hsize_t v, int expr)
-{
- __ACCLIB_VGET_BODY(acc_hsize_t)
-}
-#if !(ACC_CFG_NO_FLOAT)
-ACCLIB_PUBLIC_NOINLINE(float, acc_vget_float) (float v, int expr)
-{
- __ACCLIB_VGET_BODY(float)
-}
-#endif
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_PUBLIC_NOINLINE(double, acc_vget_double) (double v, int expr)
-{
- __ACCLIB_VGET_BODY(double)
-}
-#endif
-ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_p) (acc_hvoid_p v, int expr)
-{
- __ACCLIB_VGET_BODY(acc_hvoid_p)
-}
-#if (ACC_ARCH_I086 && ACC_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus)
-ACCLIB_PUBLIC_NOINLINE(acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p vv, int expr)
-{
- acc_hvoid_p v = (acc_hvoid_p) vv;
- __ACCLIB_VGET_BODY(acc_hvoid_p)
-}
-#else
-ACCLIB_PUBLIC_NOINLINE(const acc_hvoid_p, acc_vget_acc_hvoid_cp) (const acc_hvoid_p v, int expr)
-{
- __ACCLIB_VGET_BODY(const acc_hvoid_p)
-}
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_HMEMCPY)
-# undef ACC_WANT_ACCLIB_HMEMCPY
-#define __ACCLIB_HMEMCPY_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(int, acc_hmemcmp) (const acc_hvoid_p s1, const acc_hvoid_p s2, acc_hsize_t len)
-{
-#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
- const acc_hbyte_p p1 = (const acc_hbyte_p) s1;
- const acc_hbyte_p p2 = (const acc_hbyte_p) s2;
- if __acc_likely(len > 0) do
- {
- int d = *p1 - *p2;
- if (d != 0)
- return d;
- p1++; p2++;
- } while __acc_likely(--len > 0);
- return 0;
-#else
- return memcmp(s1, s2, len);
-#endif
-}
-ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
-{
-#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
- acc_hbyte_p p1 = (acc_hbyte_p) dest;
- const acc_hbyte_p p2 = (const acc_hbyte_p) src;
- if (!(len > 0) || p1 == p2)
- return dest;
- do
- *p1++ = *p2++;
- while __acc_likely(--len > 0);
- return dest;
-#else
- return memcpy(dest, src, len);
-#endif
-}
-ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p dest, const acc_hvoid_p src, acc_hsize_t len)
-{
-#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
- acc_hbyte_p p1 = (acc_hbyte_p) dest;
- const acc_hbyte_p p2 = (const acc_hbyte_p) src;
- if (!(len > 0) || p1 == p2)
- return dest;
- if (p1 < p2)
- {
- do
- *p1++ = *p2++;
- while __acc_likely(--len > 0);
- }
- else
- {
- p1 += len;
- p2 += len;
- do
- *--p1 = *--p2;
- while __acc_likely(--len > 0);
- }
- return dest;
-#else
- return memmove(dest, src, len);
-#endif
-}
-ACCLIB_PUBLIC(acc_hvoid_p, acc_hmemset) (acc_hvoid_p s, int c, acc_hsize_t len)
-{
-#if (ACC_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
- acc_hbyte_p p = (acc_hbyte_p) s;
- if __acc_likely(len > 0) do
- *p++ = (unsigned char) c;
- while __acc_likely(--len > 0);
- return s;
-#else
- return memset(s, c, len);
-#endif
-}
-#endif
-#if defined(ACC_WANT_ACCLIB_RAND)
-# undef ACC_WANT_ACCLIB_RAND
-#define __ACCLIB_RAND_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(void, acc_srand31) (acc_rand31_p r, acc_uint32l_t seed)
-{
- r->seed = seed & ACC_UINT32_C(0xffffffff);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_rand31) (acc_rand31_p r)
-{
- r->seed = r->seed * ACC_UINT32_C(1103515245) + 12345;
- r->seed &= ACC_UINT32_C(0x7fffffff);
- return r->seed;
-}
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC(void, acc_srand48) (acc_rand48_p r, acc_uint32l_t seed)
-{
- r->seed = seed & ACC_UINT32_C(0xffffffff);
- r->seed <<= 16; r->seed |= 0x330e;
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48) (acc_rand48_p r)
-{
- r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
- r->seed &= ACC_UINT64_C(0xffffffffffff);
- return (acc_uint32l_t) (r->seed >> 17);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_rand48_r32) (acc_rand48_p r)
-{
- r->seed = r->seed * ACC_UINT64_C(25214903917) + 11;
- r->seed &= ACC_UINT64_C(0xffffffffffff);
- return (acc_uint32l_t) (r->seed >> 16);
-}
-#endif
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC(void, acc_srand64) (acc_rand64_p r, acc_uint64l_t seed)
-{
- r->seed = seed & ACC_UINT64_C(0xffffffffffffffff);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64) (acc_rand64_p r)
-{
- r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
-#if (ACC_SIZEOF_ACC_INT64L_T > 8)
- r->seed &= ACC_UINT64_C(0xffffffffffffffff);
-#endif
- return (acc_uint32l_t) (r->seed >> 33);
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_rand64_r32) (acc_rand64_p r)
-{
- r->seed = r->seed * ACC_UINT64_C(6364136223846793005) + 1;
-#if (ACC_SIZEOF_ACC_INT64L_T > 8)
- r->seed &= ACC_UINT64_C(0xffffffffffffffff);
-#endif
- return (acc_uint32l_t) (r->seed >> 32);
-}
-#endif
-ACCLIB_PUBLIC(void, acc_srandmt) (acc_randmt_p r, acc_uint32l_t seed)
-{
- unsigned i = 0;
- do {
- r->s[i++] = (seed &= ACC_UINT32_C(0xffffffff));
- seed ^= seed >> 30;
- seed = seed * ACC_UINT32_C(0x6c078965) + i;
- } while (i != 624);
- r->n = i;
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt) (acc_randmt_p r)
-{
- return (__ACCLIB_FUNCNAME(acc_randmt_r32)(r)) >> 1;
-}
-ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt_r32) (acc_randmt_p r)
-{
- acc_uint32l_t v;
- if __acc_unlikely(r->n == 624) {
- unsigned i = 0, j;
- r->n = 0;
- do {
- j = i - 623; if ((int) j < 0) j += 624;
- v = (r->s[i] & ACC_UINT32_C(0x80000000)) ^ (r->s[j] & ACC_UINT32_C(0x7fffffff));
- j = i - 227; if ((int) j < 0) j += 624;
- r->s[i] = r->s[j] ^ (v >> 1);
- if (v & 1) r->s[i] ^= ACC_UINT32_C(0x9908b0df);
- } while (++i != 624);
- }
- v = r->s[r->n++];
- v ^= v >> 11; v ^= (v & ACC_UINT32_C(0x013a58ad)) << 7;
- v ^= (v & ACC_UINT32_C(0x0001df8c)) << 15; v ^= v >> 18;
- return v;
-}
-#if defined(acc_int64l_t)
-ACCLIB_PUBLIC(void, acc_srandmt64) (acc_randmt64_p r, acc_uint64l_t seed)
-{
- unsigned i = 0;
- do {
- r->s[i++] = (seed &= ACC_UINT64_C(0xffffffffffffffff));
- seed ^= seed >> 62;
- seed = seed * ACC_UINT64_C(0x5851f42d4c957f2d) + i;
- } while (i != 312);
- r->n = i;
-}
-#if 0
-ACCLIB_PUBLIC(acc_uint32l_t, acc_randmt64) (acc_randmt64_p r)
-{
- acc_uint64l_t v;
- v = (__ACCLIB_FUNCNAME(acc_randmt64_r64)(r)) >> 33;
- return (acc_uint32l_t) v;
-}
-#endif
-ACCLIB_PUBLIC(acc_uint64l_t, acc_randmt64_r64) (acc_randmt64_p r)
-{
- acc_uint64l_t v;
- if __acc_unlikely(r->n == 312) {
- unsigned i = 0, j;
- r->n = 0;
- do {
- j = i - 311; if ((int) j < 0) j += 312;
- v = (r->s[i] & ACC_UINT64_C(0xffffffff80000000)) ^ (r->s[j] & ACC_UINT64_C(0x7fffffff));
- j = i - 156; if ((int) j < 0) j += 312;
- r->s[i] = r->s[j] ^ (v >> 1);
- if (v & 1) r->s[i] ^= ACC_UINT64_C(0xb5026f5aa96619e9);
- } while (++i != 312);
- }
- v = r->s[r->n++];
- v ^= (v & ACC_UINT64_C(0xaaaaaaaaa0000000)) >> 29;
- v ^= (v & ACC_UINT64_C(0x38eb3ffff6d3)) << 17;
- v ^= (v & ACC_UINT64_C(0x7ffbf77)) << 37;
- return v ^ (v >> 43);
-}
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_RDTSC)
-# undef ACC_WANT_ACCLIB_RDTSC
-#define __ACCLIB_RDTSC_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if defined(acc_int32e_t)
-#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
-# pragma warn(push)
-# pragma warn(disable:2007)
-#endif
-#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
-#if (ACC_ARCH_AMD64 && ACC_CC_PATHSCALE)
-# define __ACCLIB_RDTSC_REGS : : "c" (t) : "cc", "memory", "rax", "rdx"
-#elif (ACC_ARCH_AMD64 && ACC_CC_INTELC)
-# define __ACCLIB_RDTSC_REGS : : "r" (t) : "memory", "rax", "rdx"
-#elif (ACC_ARCH_AMD64)
-# define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "rax", "rdx"
-#elif (ACC_ARCH_I386 && ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
-# define __ACCLIB_RDTSC_REGS : : "r" (t) : "ax", "dx"
-#elif (ACC_ARCH_I386 && ACC_CC_INTELC)
-# define __ACCLIB_RDTSC_REGS : : "r" (t) : "memory", "eax", "edx"
-#elif (ACC_ARCH_I386 && ACC_CC_PATHSCALE)
-# define __ACCLIB_RDTSC_REGS : : "c" (t) : "memory", "eax", "edx"
-#else
-# define __ACCLIB_RDTSC_REGS : : "r" (t) : "cc", "memory", "eax", "edx"
-#endif
-#endif
-ACCLIB_PUBLIC(int, acc_tsc_read) (acc_uint32e_t* t)
-{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
- __asm__ __volatile__(
- "clc \n" ".byte 0x0f,0x31\n"
- "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
- __ACCLIB_RDTSC_REGS
- );
- return 0;
-#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
- ACC_UNUSED(t);
- __asm {
- mov ecx, t
- clc
-# if (ACC_CC_MSC && (_MSC_VER < 1200))
- _emit 0x0f
- _emit 0x31
-# else
- rdtsc
-# endif
- mov [ecx], eax
- mov [ecx+4], edx
- }
- return 0;
-#else
- t[0] = t[1] = 0; return -1;
-#endif
-}
-#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
-# pragma warn(pop)
-#endif
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_DOSALLOC)
-# undef ACC_WANT_ACCLIB_DOSALLOC
-#define __ACCLIB_DOSALLOC_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if (ACC_OS_OS216)
-ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
-ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
-#if !(ACC_CC_AZTECC)
-ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
-{
- void __far* p = 0;
- union REGS ri, ro;
- if ((long)size <= 0)
- return p;
- size = (size + 15) >> 4;
- if (size > 0xffffu)
- return p;
- ri.x.ax = 0x4800;
- ri.x.bx = (unsigned short) size;
- int86(0x21, &ri, &ro);
- if ((ro.x.cflag & 1) == 0)
- p = (void __far*) ACC_PTR_MK_FP(ro.x.ax, 0);
- return p;
-}
-ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
-{
- union REGS ri, ro;
- struct SREGS rs;
- if (!p)
- return 0;
- if (ACC_PTR_FP_OFF(p) != 0)
- return -1;
- segread(&rs);
- ri.x.ax = 0x4900;
- rs.es = ACC_PTR_FP_SEG(p);
- int86x(0x21, &ri, &ro, &rs);
- if (ro.x.cflag & 1)
- return -1;
- return 0;
-}
-#endif
-#endif
-#if (ACC_OS_OS216)
-ACCLIB_PUBLIC(void __far*, acc_dos_alloc) (unsigned long size)
-{
- void __far* p = 0;
- unsigned short sel = 0;
- if ((long)size <= 0)
- return p;
- if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
- p = (void __far*) ACC_PTR_MK_FP(sel, 0);
- return p;
-}
-ACCLIB_PUBLIC(int, acc_dos_free) (void __far* p)
-{
- if (!p)
- return 0;
- if (ACC_PTR_FP_OFF(p) != 0)
- return -1;
- if (DosFreeSeg(ACC_PTR_FP_SEG(p)) != 0)
- return -1;
- return 0;
-}
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_GETOPT)
-# undef ACC_WANT_ACCLIB_GETOPT
-#define __ACCLIB_GETOPT_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(void, acc_getopt_init) (acc_getopt_p g,
- int start_argc, int argc, char** argv)
-{
- memset(g, 0, sizeof(*g));
- g->optind = start_argc;
- g->argc = argc; g->argv = argv;
- g->optopt = -1;
-}
-static int __ACCLIB_FUNCNAME(acc_getopt_rotate) (char** p, int first, int middle, int last)
-{
- int i = middle, n = middle - first;
- if (first >= middle || middle >= last) return 0;
- for (;;)
- {
- char* t = p[first]; p[first] = p[i]; p[i] = t;
- if (++first == middle)
- {
- if (++i == last) break;
- middle = i;
- }
- else if (++i == last)
- i = middle;
- }
- return n;
-}
-static int __ACCLIB_FUNCNAME(acc_getopt_perror) (acc_getopt_p g, int ret, const char* f, ...)
-{
- if (g->opterr)
- {
-#if (HAVE_STDARG_H)
- struct { va_list ap; } s;
- va_start(s.ap, f);
- g->opterr(g, f, &s);
- va_end(s.ap);
-#else
- g->opterr(g, f, NULL);
-#endif
- }
- ++g->errcount;
- return ret;
-}
-ACCLIB_PUBLIC(int, acc_getopt) (acc_getopt_p g,
- const char* shortopts,
- const acc_getopt_longopt_p longopts,
- int* longind)
-{
-#define pe __ACCLIB_FUNCNAME(acc_getopt_perror)
- int ordering = ACC_GETOPT_PERMUTE;
- int missing_arg_ret = g->bad_option;
- char* a;
- if (shortopts)
- {
- if (*shortopts == '-' || *shortopts == '+')
- ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
- if (*shortopts == ':')
- missing_arg_ret = *shortopts++;
- }
- g->optarg = NULL;
- if (g->optopt == -1)
- g->optopt = g->bad_option;
- if (longind)
- *longind = -1;
- if (g->eof)
- return -1;
- if (g->shortpos)
- goto acc_label_next_shortopt;
- g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
- g->pending_rotate_first = g->pending_rotate_middle = g->optind;
- if (ordering == ACC_GETOPT_PERMUTE)
- {
- while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
- ++g->optind;
- g->pending_rotate_middle = g->optind;
- }
- if (g->optind >= g->argc)
- {
- g->optind = g->pending_rotate_first;
- goto acc_label_eof;
- }
- a = g->argv[g->optind];
- if (a[0] == '-' && a[1] == '-')
- {
- size_t l = 0;
- const acc_getopt_longopt_p o;
- const acc_getopt_longopt_p o1 = NULL;
- const acc_getopt_longopt_p o2 = NULL;
- int need_exact = 0;
- ++g->optind;
- if (!a[2])
- goto acc_label_eof;
- for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
- ++l;
- for (o = longopts; l && o && o->name; ++o)
- {
- if (strncmp(a, o->name, l) != 0)
- continue;
- if (!o->name[l])
- goto acc_label_found_o;
- need_exact |= o->has_arg & ACC_GETOPT_EXACT_ARG;
- if (o1) o2 = o;
- else o1 = o;
- }
- if (!o1 || need_exact)
- return pe(g, g->bad_option, "unrecognized option '--%s'", a);
- if (o2)
- return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name);
- o = o1;
- acc_label_found_o:
- a += l;
- switch (o->has_arg & 0x2f)
- {
- case ACC_GETOPT_OPTIONAL_ARG:
- if (a[0])
- g->optarg = a + 1;
- break;
- case ACC_GETOPT_REQUIRED_ARG:
- if (a[0])
- g->optarg = a + 1;
- else if (g->optind < g->argc)
- g->optarg = g->argv[g->optind++];
- if (!g->optarg)
- return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name);
- break;
- case ACC_GETOPT_REQUIRED_ARG | 0x20:
- if (a[0] && a[1])
- g->optarg = a + 1;
- if (!g->optarg)
- return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name);
- break;
- default:
- if (a[0])
- return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name);
- break;
- }
- if (longind)
- *longind = (int) (o - longopts);
- if (o->flag)
- {
- *o->flag = o->val;
- return 0;
- }
- return o->val;
- }
- if (a[0] == '-' && a[1])
- {
- unsigned char c;
- const char* s;
- acc_label_next_shortopt:
- a = g->argv[g->optind] + ++g->shortpos;
- c = (unsigned char) *a++; s = NULL;
- if (c != ':' && shortopts)
- s = strchr(shortopts, c);
- if (!s || s[1] != ':')
- {
- if (!a[0])
- ++g->optind, g->shortpos = 0;
- if (!s)
- {
- g->optopt = c;
- return pe(g, g->bad_option, "invalid option '-%c'", c);
- }
- }
- else
- {
- ++g->optind, g->shortpos = 0;
- if (a[0])
- g->optarg = a;
- else if (s[2] != ':')
- {
- if (g->optind < g->argc)
- g->optarg = g->argv[g->optind++];
- else
- {
- g->optopt = c;
- return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
- }
- }
- }
- return c;
- }
- if (ordering == ACC_GETOPT_RETURN_IN_ORDER)
- {
- ++g->optind;
- g->optarg = a;
- return 1;
- }
-acc_label_eof:
- g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
- g->pending_rotate_first = g->pending_rotate_middle = g->optind;
- g->eof = 1;
- return -1;
-#undef pe
-}
-#endif
-#if defined(ACC_WANT_ACCLIB_HALLOC)
-# undef ACC_WANT_ACCLIB_HALLOC
-#define __ACCLIB_HALLOC_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if (ACC_HAVE_MM_HUGE_PTR)
-#if 1 && (ACC_OS_DOS16 && defined(BLX286))
-# define __ACCLIB_HALLOC_USE_DAH 1
-#elif 1 && (ACC_OS_DOS16 && defined(DOSX286))
-# define __ACCLIB_HALLOC_USE_DAH 1
-#elif 1 && (ACC_OS_OS216)
-# define __ACCLIB_HALLOC_USE_DAH 1
-#elif 1 && (ACC_OS_WIN16)
-# define __ACCLIB_HALLOC_USE_GA 1
-#elif 1 && (ACC_OS_DOS16) && (ACC_CC_BORLANDC) && defined(__DPMI16__)
-# define __ACCLIB_HALLOC_USE_GA 1
-#endif
-#endif
-#if (__ACCLIB_HALLOC_USE_DAH)
-#if 0 && (ACC_OS_OS216)
-#include <os2.h>
-#else
-ACC_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
-ACC_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
-#endif
-#endif
-#if (__ACCLIB_HALLOC_USE_GA)
-#if 0
-#define STRICT 1
-#include <windows.h>
-#else
-ACC_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long);
-ACC_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*);
-ACC_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned);
-ACC_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*);
-ACC_EXTERN_C int __far __pascal GlobalUnlock(const void __near*);
-#endif
-#endif
-ACCLIB_PUBLIC(acc_hvoid_p, acc_halloc) (acc_hsize_t size)
-{
- acc_hvoid_p p = 0;
- if (!(size > 0))
- return p;
-#if 0 && defined(__palmos__)
- p = MemPtrNew(size);
-#elif !(ACC_HAVE_MM_HUGE_PTR)
- if (size < (size_t) -1)
- p = malloc((size_t) size);
-#else
- if ((long)size <= 0)
- return p;
-{
-#if (__ACCLIB_HALLOC_USE_DAH)
- unsigned short sel = 0;
- if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
- p = (acc_hvoid_p) ACC_PTR_MK_FP(sel, 0);
-#elif (__ACCLIB_HALLOC_USE_GA)
- const void __near* h = GlobalAlloc(2, size);
- if (h) {
- p = GlobalLock(h);
- if (p && ACC_PTR_FP_OFF(p) != 0) {
- GlobalUnlock(h);
- p = 0;
- }
- if (!p)
- GlobalFree(h);
- }
-#elif (ACC_CC_MSC && (_MSC_VER >= 700))
- p = _halloc(size, 1);
-#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
- p = halloc(size, 1);
-#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
- p = farmalloc(size);
-#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
- p = farmalloc(size);
-#elif (ACC_CC_AZTECC)
- p = lmalloc(size);
-#else
- if (size < (size_t) -1)
- p = malloc((size_t) size);
-#endif
-}
-#endif
- return p;
-}
-ACCLIB_PUBLIC(void, acc_hfree) (acc_hvoid_p p)
-{
- if (!p)
- return;
-#if 0 && defined(__palmos__)
- MemPtrFree(p);
-#elif !(ACC_HAVE_MM_HUGE_PTR)
- free(p);
-#else
-#if (__ACCLIB_HALLOC_USE_DAH)
- if (ACC_PTR_FP_OFF(p) == 0)
- DosFreeSeg((unsigned short) ACC_PTR_FP_SEG(p));
-#elif (__ACCLIB_HALLOC_USE_GA)
- if (ACC_PTR_FP_OFF(p) == 0) {
- const void __near* h = (const void __near*) (unsigned) GlobalHandle(ACC_PTR_FP_SEG(p));
- if (h) {
- GlobalUnlock(h);
- GlobalFree(h);
- }
- }
-#elif (ACC_CC_MSC && (_MSC_VER >= 700))
- _hfree(p);
-#elif (ACC_CC_MSC || ACC_CC_WATCOMC)
- hfree(p);
-#elif (ACC_CC_DMC || ACC_CC_SYMANTECC || ACC_CC_ZORTECHC)
- farfree((void __far*) p);
-#elif (ACC_CC_BORLANDC || ACC_CC_TURBOC)
- farfree((void __far*) p);
-#elif (ACC_CC_AZTECC)
- lfree(p);
-#else
- free(p);
-#endif
-#endif
-}
-#endif
-#if defined(ACC_WANT_ACCLIB_HFREAD)
-# undef ACC_WANT_ACCLIB_HFREAD
-#define __ACCLIB_HFREAD_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(acc_hsize_t, acc_hfread) (void* vfp, acc_hvoid_p buf, acc_hsize_t size)
-{
- FILE* fp = (FILE *) vfp;
-#if (ACC_HAVE_MM_HUGE_PTR)
-#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
-#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
- unsigned char tmp[512];
- acc_hsize_t l = 0;
- while (l < size)
- {
- size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
- n = fread(tmp, 1, n, fp);
- if (n == 0)
- break;
- __ACCLIB_FUNCNAME(acc_hmemcpy)((acc_hbyte_p)buf + l, tmp, (acc_hsize_t)n);
- l += n;
- }
- return l;
-#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
- acc_hbyte_p b = (acc_hbyte_p) buf;
- acc_hsize_t l = 0;
- while (l < size)
- {
- size_t n;
- n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
- if ((acc_hsize_t) n > size - l)
- n = (size_t) (size - l);
- n = fread((void __far*)b, 1, n, fp);
- if (n == 0)
- break;
- b += n; l += n;
- }
- return l;
-#else
-# error "unknown memory model"
-#endif
-#else
- return fread(buf, 1, size, fp);
-#endif
-}
-ACCLIB_PUBLIC(acc_hsize_t, acc_hfwrite) (void* vfp, const acc_hvoid_p buf, acc_hsize_t size)
-{
- FILE* fp = (FILE *) vfp;
-#if (ACC_HAVE_MM_HUGE_PTR)
-#if (ACC_MM_TINY || ACC_MM_SMALL || ACC_MM_MEDIUM)
-#define __ACCLIB_REQUIRE_HMEMCPY_CH 1
- unsigned char tmp[512];
- acc_hsize_t l = 0;
- while (l < size)
- {
- size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
- __ACCLIB_FUNCNAME(acc_hmemcpy)(tmp, (const acc_hbyte_p)buf + l, (acc_hsize_t)n);
- n = fwrite(tmp, 1, n, fp);
- if (n == 0)
- break;
- l += n;
- }
- return l;
-#elif (ACC_MM_COMPACT || ACC_MM_LARGE || ACC_MM_HUGE)
- const acc_hbyte_p b = (const acc_hbyte_p) buf;
- acc_hsize_t l = 0;
- while (l < size)
- {
- size_t n;
- n = ACC_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
- if ((acc_hsize_t) n > size - l)
- n = (size_t) (size - l);
- n = fwrite((void __far*)b, 1, n, fp);
- if (n == 0)
- break;
- b += n; l += n;
- }
- return l;
-#else
-# error "unknown memory model"
-#endif
-#else
- return fwrite(buf, 1, size, fp);
-#endif
-}
-#endif
-#if defined(ACC_WANT_ACCLIB_HSREAD)
-# undef ACC_WANT_ACCLIB_HSREAD
-#define __ACCLIB_HSREAD_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-ACCLIB_PUBLIC(long, acc_safe_hread) (int fd, acc_hvoid_p buf, long size)
-{
- acc_hbyte_p b = (acc_hbyte_p) buf;
- long l = 0;
- int saved_errno;
- saved_errno = errno;
- while (l < size)
- {
- long n = size - l;
-#if (ACC_HAVE_MM_HUGE_PTR)
-# define __ACCLIB_REQUIRE_HREAD_CH 1
- errno = 0; n = acc_hread(fd, b, n);
-#elif (ACC_OS_DOS32) && defined(__DJGPP__)
- errno = 0; n = _read(fd, b, n);
-#else
- errno = 0; n = read(fd, b, n);
-#endif
- if (n == 0)
- break;
- if (n < 0) {
-#if defined(EAGAIN)
- if (errno == (EAGAIN)) continue;
-#endif
-#if defined(EINTR)
- if (errno == (EINTR)) continue;
-#endif
- if (errno == 0) errno = 1;
- return l;
- }
- b += n; l += n;
- }
- errno = saved_errno;
- return l;
-}
-ACCLIB_PUBLIC(long, acc_safe_hwrite) (int fd, const acc_hvoid_p buf, long size)
-{
- const acc_hbyte_p b = (const acc_hbyte_p) buf;
- long l = 0;
- int saved_errno;
- saved_errno = errno;
- while (l < size)
- {
- long n = size - l;
-#if (ACC_HAVE_MM_HUGE_PTR)
-# define __ACCLIB_REQUIRE_HREAD_CH 1
- errno = 0; n = acc_hwrite(fd, b, n);
-#elif (ACC_OS_DOS32) && defined(__DJGPP__)
- errno = 0; n = _write(fd, b, n);
-#else
- errno = 0; n = write(fd, b, n);
-#endif
- if (n == 0)
- break;
- if (n < 0) {
-#if defined(EAGAIN)
- if (errno == (EAGAIN)) continue;
-#endif
-#if defined(EINTR)
- if (errno == (EINTR)) continue;
-#endif
- if (errno == 0) errno = 1;
- return l;
- }
- b += n; l += n;
- }
- errno = saved_errno;
- return l;
-}
-#endif
-#if defined(ACC_WANT_ACCLIB_PCLOCK)
-# undef ACC_WANT_ACCLIB_PCLOCK
-#define __ACCLIB_PCLOCK_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if 0 && (ACC_OS_POSIX_LINUX && ACC_ARCH_AMD64 && ACC_ASM_SYNTAX_GNUC)
-#ifndef acc_pclock_syscall_clock_gettime
-#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
-#endif
-static __acc_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
-{
- long r;
- __asm__ __volatile__("syscall\n" : "=a" (r) : "0" (228), "D" (clockid), "S" (ts) : __ACC_ASM_CLOBBER);
- return r;
-}
-#endif
-#if 0 && (ACC_OS_POSIX_LINUX && ACC_ARCH_I386 && ACC_ASM_SYNTAX_GNUC)
-#ifndef acc_pclock_syscall_clock_gettime
-#define acc_pclock_syscall_clock_gettime acc_pclock_syscall_clock_gettime
-#endif
-static __acc_noinline long acc_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
-{
- long r;
- __asm__ __volatile__("int $0x80\n" : "=a" (r) : "0" (265), "b" (clockid), "c" (ts) : __ACC_ASM_CLOBBER);
- return r;
-}
-#endif
-#if 0 && defined(acc_pclock_syscall_clock_gettime)
-#ifndef acc_pclock_read_clock_gettime_r_syscall
-#define acc_pclock_read_clock_gettime_r_syscall acc_pclock_read_clock_gettime_r_syscall
-#endif
-static int acc_pclock_read_clock_gettime_r_syscall(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (acc_pclock_syscall_clock_gettime(0, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (HAVE_GETTIMEOFDAY)
-#ifndef acc_pclock_read_gettimeofday
-#define acc_pclock_read_gettimeofday acc_pclock_read_gettimeofday
-#endif
-static int acc_pclock_read_gettimeofday(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timeval tv;
- if (gettimeofday(&tv, 0) != 0)
- return -1;
-#if defined(acc_int64l_t)
- c->tv_sec = tv.tv_sec;
-#else
- c->tv_sec_high = 0;
- c->tv_sec_low = tv.tv_sec;
-#endif
- c->tv_nsec = (acc_uint32l_t) (tv.tv_usec * 1000u);
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if defined(CLOCKS_PER_SEC)
-#ifndef acc_pclock_read_clock
-#define acc_pclock_read_clock acc_pclock_read_clock
-#endif
-static int acc_pclock_read_clock(acc_pclock_handle_p h, acc_pclock_p c)
-{
- clock_t ticks;
- double secs;
-#if defined(acc_int64l_t)
- acc_uint64l_t nsecs;
- ticks = clock();
- secs = (double)ticks / (CLOCKS_PER_SEC);
- nsecs = (acc_uint64l_t) (secs * 1000000000.0);
- c->tv_sec = (acc_int64l_t) (nsecs / 1000000000ul);
- c->tv_nsec = (acc_uint32l_t) (nsecs % 1000000000ul);
-#else
- ticks = clock();
- secs = (double)ticks / (CLOCKS_PER_SEC);
- c->tv_sec_high = 0;
- c->tv_sec_low = (acc_uint32l_t) (secs + 0.5);
- c->tv_nsec = 0;
-#endif
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if 1 && defined(acc_pclock_syscall_clock_gettime)
-#ifndef acc_pclock_read_clock_gettime_m_syscall
-#define acc_pclock_read_clock_gettime_m_syscall acc_pclock_read_clock_gettime_m_syscall
-#endif
-static int acc_pclock_read_clock_gettime_m_syscall(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (acc_pclock_syscall_clock_gettime(1, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__) && defined(UCLOCKS_PER_SEC)
-#ifndef acc_pclock_read_uclock
-#define acc_pclock_read_uclock acc_pclock_read_uclock
-#endif
-static int acc_pclock_read_uclock(acc_pclock_handle_p h, acc_pclock_p c)
-{
- acc_uint64l_t ticks;
- double secs;
- acc_uint64l_t nsecs;
- ticks = uclock();
- secs = (double)ticks / (UCLOCKS_PER_SEC);
- nsecs = (acc_uint64l_t) (secs * 1000000000.0);
- c->tv_sec = nsecs / 1000000000ul;
- c->tv_nsec = (acc_uint32l_t) (nsecs % 1000000000ul);
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if 0 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(acc_int64l_t)
-#ifndef acc_pclock_read_clock_gettime_p_libc
-#define acc_pclock_read_clock_gettime_p_libc acc_pclock_read_clock_gettime_p_libc
-#endif
-static int acc_pclock_read_clock_gettime_p_libc(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if 1 && defined(acc_pclock_syscall_clock_gettime)
-#ifndef acc_pclock_read_clock_gettime_p_syscall
-#define acc_pclock_read_clock_gettime_p_syscall acc_pclock_read_clock_gettime_p_syscall
-#endif
-static int acc_pclock_read_clock_gettime_p_syscall(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (acc_pclock_syscall_clock_gettime(2, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
-#ifndef acc_pclock_read_getprocesstimes
-#define acc_pclock_read_getprocesstimes acc_pclock_read_getprocesstimes
-#endif
-static int acc_pclock_read_getprocesstimes(acc_pclock_handle_p h, acc_pclock_p c)
-{
- FILETIME ct, et, kt, ut;
- acc_uint64l_t ticks;
- if (GetProcessTimes(GetCurrentProcess(), &ct, &et, &kt, &ut) == 0)
- return -1;
- ticks = ((acc_uint64l_t)ut.dwHighDateTime << 32) | ut.dwLowDateTime;
- if __acc_unlikely(h->ticks_base == 0)
- h->ticks_base = ticks;
- else
- ticks -= h->ticks_base;
- c->tv_sec = (acc_int64l_t) (ticks / 10000000ul);
- c->tv_nsec = (acc_uint32l_t)(ticks % 10000000ul) * 100u;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (HAVE_GETRUSAGE) && defined(RUSAGE_SELF)
-#ifndef acc_pclock_read_getrusage
-#define acc_pclock_read_getrusage acc_pclock_read_getrusage
-#endif
-static int acc_pclock_read_getrusage(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct rusage ru;
- if (getrusage(RUSAGE_SELF, &ru) != 0)
- return -1;
-#if defined(acc_int64l_t)
- c->tv_sec = ru.ru_utime.tv_sec;
-#else
- c->tv_sec_high = 0;
- c->tv_sec_low = ru.ru_utime.tv_sec;
-#endif
- c->tv_nsec = (acc_uint32l_t) (ru.ru_utime.tv_usec * 1000u);
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (__ACCLIB_PCLOCK_USE_PERFCTR)
-#ifndef acc_pclock_read_perfctr
-#define acc_pclock_read_perfctr acc_pclock_read_perfctr
-#endif
-static int acc_pclock_read_perfctr(acc_pclock_handle_p h, acc_pclock_p c)
-{
- acc_perfctr_clock_t pcc;
- double secs;
- acc_uint64l_t nsecs;
- __ACCLIB_FUNCNAME(acc_perfctr_read)(&h->pch, &pcc);
- if __acc_unlikely(h->ticks_base == 0)
- h->ticks_base = pcc.tsc;
- else
- pcc.tsc -= h->ticks_base;
- secs = pcc.tsc * h->pch.tsc_to_seconds;
- nsecs = (acc_uint64l_t) (secs * 1000000000.0);
- c->tv_sec = nsecs / 1000000000ul;
- c->tv_nsec = (acc_uint32l_t) (nsecs % 1000000000ul);
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if 0 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(acc_int64l_t)
-#ifndef acc_pclock_read_clock_gettime_t_libc
-#define acc_pclock_read_clock_gettime_t_libc acc_pclock_read_clock_gettime_t_libc
-#endif
-static int acc_pclock_read_clock_gettime_t_libc(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if 1 && defined(acc_pclock_syscall_clock_gettime)
-#ifndef acc_pclock_read_clock_gettime_t_syscall
-#define acc_pclock_read_clock_gettime_t_syscall acc_pclock_read_clock_gettime_t_syscall
-#endif
-static int acc_pclock_read_clock_gettime_t_syscall(acc_pclock_handle_p h, acc_pclock_p c)
-{
- struct timespec ts;
- if (acc_pclock_syscall_clock_gettime(3, &ts) != 0)
- return -1;
- c->tv_sec = ts.tv_sec;
- c->tv_nsec = ts.tv_nsec;
- ACC_UNUSED(h); return 0;
-}
-#endif
-#if (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H) && defined(acc_int64l_t)
-#ifndef acc_pclock_read_getthreadtimes
-#define acc_pclock_read_getthreadtimes acc_pclock_read_getthreadtimes
-#endif
-static int acc_pclock_read_getthreadtimes(acc_pclock_handle_p h, acc_pclock_p c)
-{
- FILETIME ct, et, kt, ut;
- acc_uint64l_t ticks;
- if (GetThreadTimes(GetCurrentThread(), &ct, &et, &kt, &ut) == 0)
- return -1;
- ticks = ((acc_uint64l_t)ut.dwHighDateTime << 32) | ut.dwLowDateTime;
- if __acc_unlikely(h->ticks_base == 0)
- h->ticks_base = ticks;
- else
- ticks -= h->ticks_base;
- c->tv_sec = (acc_int64l_t) (ticks / 10000000ul);
- c->tv_nsec = (acc_uint32l_t)(ticks % 10000000ul) * 100;
- ACC_UNUSED(h); return 0;
-}
-#endif
-ACCLIB_PUBLIC(int, acc_pclock_open) (acc_pclock_handle_p h, int mode)
-{
- acc_pclock_t c;
- int i;
- h->h = (acclib_handle_t) 0;
- h->mode = -1;
- h->read_error = 2;
- h->name = NULL;
- h->gettime = 0;
-#if defined(acc_int64l_t)
- h->ticks_base = 0;
-#endif
- switch (mode)
- {
- case ACC_PCLOCK_REALTIME:
-# if defined(acc_pclock_read_clock_gettime_r_syscall)
- if (acc_pclock_read_clock_gettime_r_syscall(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_r_syscall;
- h->name = "CLOCK_REALTIME/syscall";
- break;
- }
-# endif
-# if defined(acc_pclock_read_gettimeofday)
- if (acc_pclock_read_gettimeofday(h, &c) == 0) {
- h->gettime = acc_pclock_read_gettimeofday;
- h->name = "gettimeofday";
- break;
- }
-# endif
- break;
- case ACC_PCLOCK_MONOTONIC:
-# if defined(acc_pclock_read_clock_gettime_m_syscall)
- if (acc_pclock_read_clock_gettime_m_syscall(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_m_syscall;
- h->name = "CLOCK_MONOTONIC/syscall";
- break;
- }
-# endif
-# if defined(acc_pclock_read_uclock)
- if (acc_pclock_read_uclock(h, &c) == 0) {
- h->gettime = acc_pclock_read_uclock;
- h->name = "uclock";
- break;
- }
-# endif
-# if defined(acc_pclock_read_clock)
- if (acc_pclock_read_clock(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock;
- h->name = "clock";
- break;
- }
-# endif
- break;
- case ACC_PCLOCK_PROCESS_CPUTIME_ID:
-# if defined(acc_pclock_read_perfctr)
- if (__ACCLIB_FUNCNAME(acc_perfctr_open)(&h->pch) == 0) {
- h->gettime = acc_pclock_read_perfctr;
- h->name = "perfctr";
- break;
- }
-# endif
-# if defined(acc_pclock_read_getprocesstimes)
- if (acc_pclock_read_getprocesstimes(h, &c) == 0) {
- h->gettime = acc_pclock_read_getprocesstimes;
- h->name = "GetProcessTimes";
- break;
- }
-# endif
-# if defined(acc_pclock_read_clock_gettime_p_syscall)
- if (acc_pclock_read_clock_gettime_p_syscall(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_p_syscall;
- h->name = "CLOCK_PROCESS_CPUTIME_ID/syscall";
- break;
- }
-# endif
-# if defined(acc_pclock_read_clock_gettime_p_libc)
- if (acc_pclock_read_clock_gettime_p_libc(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_p_libc;
- h->name = "CLOCK_PROCESS_CPUTIME_ID/libc";
- break;
- }
-# endif
-# if defined(acc_pclock_read_getrusage)
- if (acc_pclock_read_getrusage(h, &c) == 0) {
- h->gettime = acc_pclock_read_getrusage;
- h->name = "getrusage";
- break;
- }
-# endif
- break;
- case ACC_PCLOCK_THREAD_CPUTIME_ID:
-# if defined(acc_pclock_read_getthreadtimes)
- if (acc_pclock_read_getthreadtimes(h, &c) == 0) {
- h->gettime = acc_pclock_read_getthreadtimes;
- h->name = "GetThreadTimes";
- }
-# endif
-# if defined(acc_pclock_read_clock_gettime_t_syscall)
- if (acc_pclock_read_clock_gettime_t_syscall(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_t_syscall;
- h->name = "CLOCK_THREAD_CPUTIME_ID/syscall";
- break;
- }
-# endif
-# if defined(acc_pclock_read_clock_gettime_t_libc)
- if (acc_pclock_read_clock_gettime_t_libc(h, &c) == 0) {
- h->gettime = acc_pclock_read_clock_gettime_t_libc;
- h->name = "CLOCK_THREAD_CPUTIME_ID/libc";
- break;
- }
-# endif
- break;
- }
- if (!h->gettime)
- return -1;
- if (!h->h)
- h->h = (acclib_handle_t) 1;
- h->mode = mode;
- h->read_error = 0;
- if (!h->name)
- h->name = "unknown";
- for (i = 0; i < 10; i++) {
- __ACCLIB_FUNCNAME(acc_pclock_read)(h, &c);
- }
- return 0;
-}
-ACCLIB_PUBLIC(int, acc_pclock_open_default) (acc_pclock_handle_p h)
-{
- if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_PROCESS_CPUTIME_ID) == 0)
- return 0;
- if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_MONOTONIC) == 0)
- return 0;
- if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_REALTIME) == 0)
- return 0;
- if (__ACCLIB_FUNCNAME(acc_pclock_open)(h, ACC_PCLOCK_THREAD_CPUTIME_ID) == 0)
- return 0;
- return -1;
-}
-ACCLIB_PUBLIC(int, acc_pclock_close) (acc_pclock_handle_p h)
-{
- h->h = (acclib_handle_t) 0;
- h->mode = -1;
- h->name = NULL;
- h->gettime = 0;
-#if (__ACCLIB_PCLOCK_USE_PERFCTR)
- __ACCLIB_FUNCNAME(acc_perfctr_close)(&h->pch);
-#endif
- return 0;
-}
-ACCLIB_PUBLIC(void, acc_pclock_read) (acc_pclock_handle_p h, acc_pclock_p c)
-{
- if (h->gettime) {
- if (h->gettime(h, c) == 0)
- return;
- }
- h->read_error = 1;
-#if defined(acc_int64l_t)
- c->tv_sec = 0;
-#else
- c->tv_sec_high = 0;
- c->tv_sec_low = 0;
-#endif
- c->tv_nsec = 0;
-}
-#if !(ACC_CFG_NO_DOUBLE)
-ACCLIB_PUBLIC(double, acc_pclock_get_elapsed) (acc_pclock_handle_p h, const acc_pclock_p start, const acc_pclock_p stop)
-{
- double tstop, tstart;
- if (!h->h) {
- h->mode = -1;
- return 0.0;
- }
-#if defined(acc_int64l_t)
- tstop = stop->tv_sec + stop->tv_nsec / 1000000000.0;
- tstart = start->tv_sec + start->tv_nsec / 1000000000.0;
-#else
- tstop = stop->tv_sec_low + stop->tv_nsec / 1000000000.0;
- tstart = start->tv_sec_low + start->tv_nsec / 1000000000.0;
-#endif
- return tstop - tstart;
-}
-#endif
-ACCLIB_PUBLIC(int, acc_pclock_flush_cpu_cache) (acc_pclock_handle_p h, unsigned flags)
-{
- if (h->h) {
-#if (__ACCLIB_PCLOCK_USE_PERFCTR)
- return __ACCLIB_FUNCNAME(acc_perfctr_flush_cpu_cache)(&h->pch, flags);
-#endif
- }
- ACC_UNUSED(h); ACC_UNUSED(flags);
- return -1;
-}
-#if defined(__ACCLIB_PCLOCK_NEED_WARN_POP)
-# if (ACC_CC_MSC && (_MSC_VER >= 1200))
-# pragma warning(pop)
-# else
-# error "__ACCLIB_PCLOCK_NEED_WARN_POP"
-# endif
-# undef __ACCLIB_PCLOCK_NEED_WARN_POP
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_UCLOCK)
-# undef ACC_WANT_ACCLIB_UCLOCK
-#define __ACCLIB_UCLOCK_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
-#elif (ACC_OS_CYGWIN || ACC_OS_WIN32 || ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
-# if ((ACC_CC_DMC && (__DMC__ < 0x838)) || ACC_CC_LCCWIN32)
-# define __ACCLIB_UCLOCK_USE_CLOCK 1
-# else
-# define __ACCLIB_UCLOCK_USE_WINMM 1
-# if (ACC_CC_MSC && (_MSC_VER >= 1200))
-# pragma warning(push)
-# define __ACCLIB_UCLOCK_NEED_WARN_POP 1
-# endif
-# if (ACC_CC_MSC && (_MSC_VER >= 900))
-# pragma warning(disable: 4201)
-# elif (ACC_CC_MWERKS)
-# define LPUINT __ACC_MMSYSTEM_H_LPUINT
-# endif
-# if 1
-# include <mmsystem.h>
-# else
-# if (ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC)
- ACC_EXTERN_C __declspec(dllimport) unsigned long __stdcall timeGetTime(void);
-# else
- ACC_EXTERN_C unsigned long __stdcall timeGetTime(void);
-# endif
-# endif
-# if (ACC_CC_DMC)
-# pragma DMC includelib "winmm.lib"
-# elif (ACC_CC_INTELC || ACC_CC_MSC || ACC_CC_PELLESC)
-# pragma comment(lib, "winmm.lib")
-# elif (ACC_CC_MWERKS && (__MWERKS__ >= 0x3000))
-# pragma comment(lib, "winmm.lib")
-# elif (ACC_CC_SYMANTECC)
-# pragma SC includelib "winmm.lib"
-# elif (ACC_CC_WATCOMC && (__WATCOMC__ >= 1050))
-# pragma library("winmm.lib")
-# endif
-# endif
-#elif (ACC_OS_CYGWIN || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN32 || ACC_OS_WIN64)
-# define __ACCLIB_UCLOCK_USE_CLOCK 1
-#elif (ACC_OS_CONSOLE) && defined(CLOCKS_PER_SEC)
-# define __ACCLIB_UCLOCK_USE_CLOCK 1
-#elif (ACC_LIBC_ISOC90 || ACC_LIBC_ISOC99) && defined(CLOCKS_PER_SEC)
-# define __ACCLIB_UCLOCK_USE_CLOCK 1
-#endif
-#if (__ACCLIB_UCLOCK_USE_CLOCK) && !defined(CLOCKS_PER_SEC)
-# if defined(CLK_TCK)
-# define CLOCKS_PER_SEC CLK_TCK
-# else
-# undef __ACCLIB_UCLOCK_USE_CLOCK
-# endif
-#endif
-#if (__ACCLIB_UCLOCK_USE_GETRUSAGE)
-# if !defined(RUSAGE_SELF)
-# undef __ACCLIB_UCLOCK_USE_GETRUSAGE
-# endif
-#endif
-ACCLIB_PUBLIC(int, acc_uclock_open) (acc_uclock_handle_p h)
-{
- int i;
-#if (__ACCLIB_UCLOCK_USE_QPC)
- LARGE_INTEGER li;
-#endif
- h->h = (acclib_handle_t) 1;
- h->mode = 0;
- h->read_error = 0;
- h->name = NULL;
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- h->pch.h = 0;
- if (h->mode == 0 && __ACCLIB_FUNCNAME(acc_perfctr_open)(&h->pch) == 0)
- h->mode = 2;
-#endif
-#if (__ACCLIB_UCLOCK_USE_QPC)
- h->qpf = 0.0;
- if (h->mode == 0 && QueryPerformanceFrequency(&li) != 0) {
- double d = (double) li.QuadPart;
- if (d > 0.0 && QueryPerformanceCounter(&li) != 0) {
- h->mode = 3;
- h->qpf = d;
- }
- }
-#endif
- for (i = 0; i < 10; i++) {
- acc_uclock_t c;
- __ACCLIB_FUNCNAME(acc_uclock_read)(h, &c);
- }
- return 0;
-}
-ACCLIB_PUBLIC(int, acc_uclock_close) (acc_uclock_handle_p h)
-{
- h->h = (acclib_handle_t) 0;
- h->mode = -1;
- h->name = NULL;
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- __ACCLIB_FUNCNAME(acc_perfctr_close)(&h->pch);
-#endif
- return 0;
-}
-ACCLIB_PUBLIC(void, acc_uclock_read) (acc_uclock_handle_p h, acc_uclock_p c)
-{
-#if (__ACCLIB_UCLOCK_USE_RDTSC)
- __ACCLIB_FUNCNAME(acc_tsc_read)((acc_uint32e_t*) (void*) &c->tsc);
-#endif
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- if (h->pch.h) {
- __ACCLIB_FUNCNAME(acc_perfctr_read)(&h->pch, &c->pcc);
- if (h->mode > 0 && h->mode <= 2)
- return;
- }
-#endif
-#if (__ACCLIB_UCLOCK_USE_QPC)
- if (h->qpf > 0.0) {
- LARGE_INTEGER li;
- if (QueryPerformanceCounter(&li) != 0) {
- c->qpc = (acc_int64l_t) li.QuadPart;
- if (h->mode > 0 && h->mode <= 3)
- return;
- } else {
- h->mode = 0; h->qpf = 0.0; c->qpc = 0;
- h->read_error = 1;
- }
- }
-#endif
- {
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
-# if (ACC_CC_AZTECC)
- c->ticks.t32 = 0;
-# else
- union REGS ri, ro;
- ri.x.ax = 0x2c00; int86(0x21, &ri, &ro);
- c->ticks.t32 = ro.h.ch*60UL*60UL*100UL + ro.h.cl*60UL*100UL + ro.h.dh*100UL + ro.h.dl;
-# endif
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
- c->ticks.t64 = uclock();
-#elif (__ACCLIB_UCLOCK_USE_CLOCK) && defined(acc_int64l_t)
- c->ticks.t64 = clock();
-#elif (__ACCLIB_UCLOCK_USE_CLOCK)
- c->ticks.t32 = clock();
-#elif (__ACCLIB_UCLOCK_USE_WINMM)
- c->ticks.t32 = timeGetTime();
-#elif (__ACCLIB_UCLOCK_USE_GETRUSAGE)
- struct rusage ru;
- if (getrusage(RUSAGE_SELF, &ru) != 0) c->ticks.td = 0;
- else c->ticks.td = ru.ru_utime.tv_sec + ru.ru_utime.tv_usec / 1000000.0;
-#elif (HAVE_GETTIMEOFDAY)
- struct timeval tv;
- if (gettimeofday(&tv, 0) != 0) c->ticks.td = 0;
- else c->ticks.td = tv.tv_sec + tv.tv_usec / 1000000.0;
-#else
- ACC_UNUSED(c);
-#endif
- }
- ACC_UNUSED(h);
-}
-ACCLIB_PUBLIC(double, acc_uclock_get_elapsed) (acc_uclock_handle_p h, const acc_uclock_p start, const acc_uclock_p stop)
-{
- double d;
- if (!h->h) {
- h->mode = -1;
- return 0.0;
- }
-#if (__ACCLIB_UCLOCK_USE_RDTSC)
- if (h->mode == 1) {
- if (!h->name) h->name = "rdtsc";
- d = (double) ((acc_int64l_t)stop->tsc - (acc_int64l_t)start->tsc);
- return d / 1000000000.0;
- }
-#endif
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- if (h->pch.h && h->mode == 2) {
- if (!h->name) h->name = "perfctr";
- return __ACCLIB_FUNCNAME(acc_perfctr_get_elapsed)(&h->pch, &start->pcc, &stop->pcc);
- }
-#endif
-#if (__ACCLIB_UCLOCK_USE_QPC)
- if (h->qpf > 0.0 && h->mode == 3) {
- if (!h->name) h->name = "qpc";
- if (start->qpc == 0 || stop->qpc == 0) return 0.0;
- return (double) (stop->qpc - start->qpc) / h->qpf;
- }
-#endif
-#if (ACC_OS_DOS16 || ACC_OS_WIN16)
- h->mode = 11;
- if (!h->name) h->name = "uclock";
- d = (double) (stop->ticks.t32 - start->ticks.t32) / 100.0;
- if (d < 0.0) d += 86400.0;
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
- h->mode = 12;
- if (!h->name) h->name = "uclock";
- d = (double) (stop->ticks.t64 - start->ticks.t64) / (UCLOCKS_PER_SEC);
-#elif (__ACCLIB_UCLOCK_USE_CLOCK) && defined(acc_int64l_t)
- h->mode = 13;
- if (!h->name) h->name = "clock";
- {
- acc_int64l_t t;
- t = stop->ticks.t64 - start->ticks.t64;
- if (t < 0)
- t += sizeof(clock_t) == 4 ? ACC_INT64_C(0x100000000) : ACC_INT64_C(0);
- d = (double) t / (CLOCKS_PER_SEC);
- }
-#elif (__ACCLIB_UCLOCK_USE_CLOCK)
- h->mode = 14;
- if (!h->name) h->name = "clock";
- d = (double) (stop->ticks.t32 - start->ticks.t32) / (CLOCKS_PER_SEC);
-#elif (__ACCLIB_UCLOCK_USE_WINMM)
- h->mode = 15;
- if (!h->name) h->name = "timeGetTime";
- d = (double) (stop->ticks.t32 - start->ticks.t32) / 1000.0;
-#elif (__ACCLIB_UCLOCK_USE_GETRUSAGE)
- h->mode = 16;
- if (!h->name) h->name = "getrusage";
- d = stop->ticks.td - start->ticks.td;
-#elif (HAVE_GETTIMEOFDAY)
- h->mode = 17;
- if (!h->name) h->name = "gettimeofday";
- d = stop->ticks.td - start->ticks.td;
-#else
- h->mode = 0;
- d = 0.0;
-#endif
- return d;
-}
-ACCLIB_PUBLIC(int, acc_uclock_flush_cpu_cache) (acc_uclock_handle_p h, unsigned flags)
-{
- if (h->h) {
-#if (__ACCLIB_UCLOCK_USE_PERFCTR)
- return __ACCLIB_FUNCNAME(acc_perfctr_flush_cpu_cache)(&h->pch, flags);
-#endif
- }
- ACC_UNUSED(h); ACC_UNUSED(flags);
- return -1;
-}
-#if defined(__ACCLIB_UCLOCK_NEED_WARN_POP)
-# if (ACC_CC_MSC && (_MSC_VER >= 1200))
-# pragma warning(pop)
-# else
-# error "__ACCLIB_UCLOCK_NEED_WARN_POP"
-# endif
-# undef __ACCLIB_UCLOCK_NEED_WARN_POP
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_MISC)
-# undef ACC_WANT_ACCLIB_MISC
-#define __ACCLIB_MISC_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if !defined(ACCLIB_PUBLIC_NOINLINE)
-# if !defined(__acc_noinline)
-# define ACCLIB_PUBLIC_NOINLINE(r,f) r __ACCLIB_FUNCNAME(f)
-# elif (ACC_CC_CLANG || (ACC_CC_GNUC >= 0x030400ul) || ACC_CC_LLVM)
-# define ACCLIB_PUBLIC_NOINLINE(r,f) __acc_noinline __attribute__((__used__)) r __ACCLIB_FUNCNAME(f)
-# else
-# define ACCLIB_PUBLIC_NOINLINE(r,f) __acc_noinline r __ACCLIB_FUNCNAME(f)
-# endif
-#endif
-#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
-# pragma warn(push)
-# pragma warn(disable:2007)
-#endif
-ACCLIB_PUBLIC(const char *, acc_getenv) (const char *s)
-{
-#if (HAVE_GETENV)
- return getenv(s);
-#else
- ACC_UNUSED(s); return (const char *) 0;
-#endif
-}
-ACCLIB_PUBLIC(acclib_handle_t, acc_get_osfhandle) (int fd)
-{
- if (fd < 0)
- return -1;
-#if (ACC_OS_CYGWIN)
- return get_osfhandle(fd);
-#elif (ACC_OS_EMX && defined(__RSXNT__))
- return -1;
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
- return -1;
-#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
-# if (ACC_CC_PELLESC && (__POCC__ < 280))
- return -1;
-# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1000))
- return -1;
-# elif (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
- return _os_handle(fd);
-# else
- return _get_osfhandle(fd);
-# endif
-#else
- return fd;
-#endif
-}
-ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
-{
-#if (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
- FILE* fp; int old_binary;
- if (fd == STDIN_FILENO) fp = stdin;
- else if (fd == STDOUT_FILENO) fp = stdout;
- else if (fd == STDERR_FILENO) fp = stderr;
- else return -1;
- old_binary = fp->__mode.__binary;
- __set_binmode(fp, binary ? 1 : 0);
- return old_binary ? 1 : 0;
-#elif (ACC_ARCH_M68K && ACC_OS_TOS)
- ACC_UNUSED(fd); ACC_UNUSED(binary);
- return -1;
-#elif (ACC_OS_DOS16 && (ACC_CC_AZTECC || ACC_CC_PACIFICC))
- ACC_UNUSED(fd); ACC_UNUSED(binary);
- return -1;
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
- int r; unsigned old_flags = __djgpp_hwint_flags;
- ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
- ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
- if (fd < 0) return -1;
- r = setmode(fd, binary ? O_BINARY : O_TEXT);
- if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u))
- __djgpp_set_ctrl_c(!(old_flags & 1));
- if (r == -1) return -1;
- return (r & O_TEXT) ? 0 : 1;
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
- if (fd < 0) return -1;
- ACC_UNUSED(binary);
- return 1;
-#elif (ACC_OS_DOS32 && ACC_CC_HIGHC)
- FILE* fp; int r;
- if (fd == fileno(stdin)) fp = stdin;
- else if (fd == fileno(stdout)) fp = stdout;
- else if (fd == fileno(stderr)) fp = stderr;
- else return -1;
- r = _setmode(fp, binary ? _BINARY : _TEXT);
- if (r == -1) return -1;
- return (r & _BINARY) ? 1 : 0;
-#elif (ACC_OS_WIN32 && ACC_CC_MWERKS) && defined(__MSL__)
- ACC_UNUSED(fd); ACC_UNUSED(binary);
- return -1;
-#elif (ACC_OS_CYGWIN && (ACC_CC_GNUC < 0x025a00ul))
- ACC_UNUSED(fd); ACC_UNUSED(binary);
- return -1;
-#elif (ACC_OS_CYGWIN || ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_EMX || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
- int r;
-#if !(ACC_CC_ZORTECHC)
- ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
-#endif
- ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
- if (fd < 0) return -1;
- r = setmode(fd, binary ? O_BINARY : O_TEXT);
- if (r == -1) return -1;
- return (r & O_TEXT) ? 0 : 1;
-#else
- if (fd < 0) return -1;
- ACC_UNUSED(binary);
- return 1;
-#endif
-}
-ACCLIB_PUBLIC(int, acc_isatty) (int fd)
-{
- if (fd < 0)
- return 0;
-#if (ACC_OS_DOS16 && !(ACC_CC_AZTECC))
- {
- union REGS ri, ro;
- ri.x.ax = 0x4400; ri.x.bx = fd;
- int86(0x21, &ri, &ro);
- if ((ro.x.cflag & 1) == 0)
- if ((ro.x.ax & 0x83) != 0x83)
- return 0;
- }
-#elif (ACC_OS_DOS32 && ACC_CC_WATCOMC)
- {
- union REGS ri, ro;
- ri.w.ax = 0x4400; ri.w.bx = (unsigned short) fd;
- int386(0x21, &ri, &ro);
- if ((ro.w.cflag & 1) == 0)
- if ((ro.w.ax & 0x83) != 0x83)
- return 0;
- }
-#elif (ACC_HAVE_WINDOWS_H)
- {
- acclib_handle_t h = __ACCLIB_FUNCNAME(acc_get_osfhandle)(fd);
- if ((HANDLE)h != INVALID_HANDLE_VALUE)
- {
- DWORD d = 0;
- if (GetConsoleMode((HANDLE)h, &d) == 0)
- return 0;
- }
- }
-#endif
-#if (HAVE_ISATTY)
- return (isatty(fd)) ? 1 : 0;
-#else
- return 0;
-#endif
-}
-ACCLIB_PUBLIC(int, acc_mkdir) (const char* name, unsigned mode)
-{
-#if !(HAVE_MKDIR)
- ACC_UNUSED(name); ACC_UNUSED(mode);
- return -1;
-#elif (ACC_ARCH_M68K && ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))
- ACC_UNUSED(mode);
- return Dcreate(name);
-#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)
- return mkdir(name, mode);
-#elif (ACC_OS_WIN32 && ACC_CC_GNUC) && defined(__PW32__)
- return mkdir(name, mode);
-#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
- ACC_UNUSED(mode);
-# if (ACC_CC_HIGHC || ACC_CC_PACIFICC)
- return mkdir((char*) name);
-# else
- return mkdir(name);
-# endif
-#elif (ACC_CC_WATCOMC)
- return mkdir(name, (mode_t) mode);
-#else
- return mkdir(name, mode);
-#endif
-}
-ACCLIB_PUBLIC(int, acc_rmdir) (const char* name)
-{
-#if !(HAVE_RMDIR)
- ACC_UNUSED(name);
- return -1;
-#elif ((ACC_OS_DOS16 || ACC_OS_DOS32) && (ACC_CC_HIGHC || ACC_CC_PACIFICC))
- return rmdir((char *) name);
-#else
- return rmdir(name);
-#endif
-}
-#if defined(acc_int32e_t)
-ACCLIB_PUBLIC(acc_int32e_t, acc_muldiv32s) (acc_int32e_t a, acc_int32e_t b, acc_int32e_t x)
-{
- acc_int32e_t r = 0;
- if __acc_likely(x != 0)
- {
-#if defined(acc_int64l_t)
- r = (acc_int32e_t) (((acc_int64l_t) a * b) / x);
-#else
- ACC_UNUSED(a); ACC_UNUSED(b);
-#endif
- }
- return r;
-}
-ACCLIB_PUBLIC(acc_uint32e_t, acc_muldiv32u) (acc_uint32e_t a, acc_uint32e_t b, acc_uint32e_t x)
-{
- acc_uint32e_t r = 0;
- if __acc_likely(x != 0)
- {
-#if defined(acc_int64l_t)
- r = (acc_uint32e_t) (((acc_uint64l_t) a * b) / x);
-#else
- ACC_UNUSED(a); ACC_UNUSED(b);
-#endif
- }
- return r;
-}
-#endif
-#if 0
-ACCLIB_PUBLIC_NOINLINE(int, acc_syscall_clock_gettime) (int c)
-{
-}
-#endif
-#if (ACC_OS_WIN16)
-ACC_EXTERN_C void __far __pascal DebugBreak(void);
-#endif
-ACCLIB_PUBLIC_NOINLINE(void, acc_debug_break) (void)
-{
-#if (ACC_OS_WIN16)
- DebugBreak();
-#elif (ACC_ARCH_I086)
-#elif (ACC_OS_WIN64) && (ACC_HAVE_WINDOWS_H)
- DebugBreak();
-#elif (ACC_CFG_NO_INLINE_ASM) && (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
- DebugBreak();
-#elif (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
- __asm__ __volatile__("int $3\n" : : : __ACC_ASM_CLOBBER);
-#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
- __asm { int 3 }
-#elif (ACC_OS_WIN32) && (ACC_HAVE_WINDOWS_H)
- DebugBreak();
-#else
- * (volatile unsigned long *) (volatile void *) (size_t) 0x1 = ~0ul;
-#endif
-}
-ACCLIB_PUBLIC_NOINLINE(void, acc_debug_nop) (void)
-{
-}
-ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
-{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
- size_t r;
- __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : : __ACC_ASM_CLOBBER);
- return (int)(r >> 18) & 1;
-#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
- unsigned long r;
- __asm {
- pushf
- pop eax
- mov r,eax
- }
- return (int)(r >> 18) & 1;
-#else
- return -1;
-#endif
-}
-ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_enable) (int v)
-{
- int r;
-#if (ACC_ARCH_AMD64) && (ACC_ASM_SYNTAX_GNUC)
- if (v) {
- __asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : : __ACC_ASM_CLOBBER);
- } else {
- __asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : : __ACC_ASM_CLOBBER);
- }
- r = 0;
-#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
- if (v) {
- __asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : : __ACC_ASM_CLOBBER);
- } else {
- __asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : : __ACC_ASM_CLOBBER);
- }
- r = 0;
-#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)
- if (v) { __asm {
- pushf
- or dword ptr [esp],262144
- popf
- }} else { __asm {
- pushf
- and dword ptr [esp],-262145
- popf
- }}
- r = 0;
-#else
- r = -1;
-#endif
- ACC_UNUSED(v); return r;
-}
-ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_qemu) (void)
-{
- unsigned r = 0;
-#if (ACC_OS_POSIX_LINUX || ACC_OS_WIN32 || ACC_OS_WIN64)
- const char* p;
- p = __ACCLIB_FUNCNAME(acc_getenv)("ACC_ENV_RUNNING_ON_QEMU");
- if (p) {
- if (p[0] == 0) r = 0;
- else if ((p[0] >= '0' && p[0] <= '9') && p[1] == 0) r = p[0] - '0';
- else r = 1;
- }
-#endif
- return r;
-}
-ACCLIB_PUBLIC_NOINLINE(unsigned, acc_debug_running_on_valgrind) (void)
-{
-#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
- volatile unsigned long args[5] = { 0x1001, 0, 0, 0, 0 };
- unsigned long r = 0;
- __asm__ __volatile__(".byte 0xc1,0xc0,0x1d,0xc1,0xc0,0x03,0xc1,0xc8,0x1b,0xc1,0xc8,0x05,0xc1,0xc0,0x0d,0xc1,0xc0,0x13\n" : "=d" (r) : "a" (&args[0]), "d" (r) : __ACC_ASM_CLOBBER);
- return (unsigned) r;
-#else
- return 0;
-#endif
-}
-#if (ACC_OS_WIN32 && ACC_CC_PELLESC && (__POCC__ >= 290))
-# pragma warn(pop)
-#endif
-#endif
-#if defined(ACC_WANT_ACCLIB_WILDARGV)
-# undef ACC_WANT_ACCLIB_WILDARGV
-#define __ACCLIB_WILDARGV_CH_INCLUDED 1
-#if !defined(ACCLIB_PUBLIC)
-# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
-#endif
-#if (ACC_OS_DOS16 || ACC_OS216 || ACC_OS_WIN16)
-#if 0 && (ACC_CC_MSC)
-ACC_EXTERN_C int __acc_cdecl __setargv(void);
-ACC_EXTERN_C int __acc_cdecl _setargv(void);
-ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
-#endif
-#endif
-#if (ACC_OS_WIN32 || ACC_OS_WIN64)
-#if (ACC_CC_INTELC || ACC_CC_MSC)
-ACC_EXTERN_C int __acc_cdecl __setargv(void);
-ACC_EXTERN_C int __acc_cdecl _setargv(void);
-ACC_EXTERN_C int __acc_cdecl _setargv(void) { return __setargv(); }
-#endif
-#endif
-#if (ACC_OS_EMX)
-#define __ACCLIB_HAVE_ACC_WILDARGV 1
-ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
-{
- if (argc && argv) {
- _response(argc, argv);
- _wildcard(argc, argv);
- }
-}
-#endif
-#if (ACC_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__)
-#define __ACCLIB_HAVE_ACC_WILDARGV 1
-ACC_EXTERN_C int acc_psp_init_module(int*, char***, int);
-ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
-{
- acc_psp_init_module(argc, argv, -1);
-}
-#endif
-#if !(__ACCLIB_HAVE_ACC_WILDARGV)
-#define __ACCLIB_HAVE_ACC_WILDARGV 1
-ACCLIB_PUBLIC(void, acc_wildargv) (int* argc, char*** argv)
-{
-#if 1 && (ACC_ARCH_I086PM)
- if (ACC_MM_AHSHIFT != 3) { exit(1); }
-#elif 1 && (ACC_ARCH_M68K && ACC_OS_TOS && ACC_CC_GNUC) && defined(__MINT__)
- __binmode(1);
- if (isatty(1)) __set_binmode(stdout, 0);
- if (isatty(2)) __set_binmode(stderr, 0);
-#endif
- ACC_UNUSED(argc); ACC_UNUSED(argv);
-}
-#endif
-#endif
-
-/* vim:set ts=4 et: */
diff --git a/main/lzo/src/stats1a.h b/main/lzo/src/stats1a.h
index 8edfd908..c72d2c1c 100644
--- a/main/lzo/src/stats1a.h
+++ b/main/lzo/src/stats1a.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/stats1b.h b/main/lzo/src/stats1b.h
index 20274cd7..52011b98 100644
--- a/main/lzo/src/stats1b.h
+++ b/main/lzo/src/stats1b.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/src/stats1c.h b/main/lzo/src/stats1c.h
index 8804c2c7..0bbd841e 100644
--- a/main/lzo/src/stats1c.h
+++ b/main/lzo/src/stats1c.h
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/stamp-h1 b/main/lzo/stamp-h1
deleted file mode 100644
index 4547fe1b..00000000
--- a/main/lzo/stamp-h1
+++ /dev/null
@@ -1 +0,0 @@
-timestamp for config.h
diff --git a/main/lzo/tests/.deps/align.Po b/main/lzo/tests/.deps/align.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/tests/.deps/align.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/tests/.deps/chksum.Po b/main/lzo/tests/.deps/chksum.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/tests/.deps/chksum.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/tests/.deps/promote.Po b/main/lzo/tests/.deps/promote.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/tests/.deps/promote.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/tests/.deps/sizes.Po b/main/lzo/tests/.deps/sizes.Po
deleted file mode 100644
index 9ce06a81..00000000
--- a/main/lzo/tests/.deps/sizes.Po
+++ /dev/null
@@ -1 +0,0 @@
-# dummy
diff --git a/main/lzo/tests/Makefile b/main/lzo/tests/Makefile
deleted file mode 100644
index d69cdc66..00000000
--- a/main/lzo/tests/Makefile
+++ /dev/null
@@ -1,468 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# tests/Makefile. Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = .
-top_srcdir = ..
-
-pkgdatadir = $(datadir)/lzo
-pkglibdir = $(libdir)/lzo
-pkgincludedir = $(includedir)/lzo
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = /usr/bin/install -c
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = i686-pc-linux-gnu
-host_triplet = i686-pc-linux-gnu
-target_triplet = i686-pc-linux-gnu
-noinst_PROGRAMS = align$(EXEEXT) chksum$(EXEEXT) promote$(EXEEXT) \
- sizes$(EXEEXT)
-subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_align_OBJECTS = align.$(OBJEXT)
-align_OBJECTS = $(am_align_OBJECTS)
-align_DEPENDENCIES = ../src/liblzo2.la
-am_chksum_OBJECTS = chksum.$(OBJEXT)
-chksum_OBJECTS = $(am_chksum_OBJECTS)
-chksum_DEPENDENCIES = ../src/liblzo2.la
-am_promote_OBJECTS = promote.$(OBJEXT)
-promote_OBJECTS = $(am_promote_OBJECTS)
-promote_LDADD = $(LDADD)
-am_sizes_OBJECTS = sizes.$(OBJEXT)
-sizes_OBJECTS = $(am_sizes_OBJECTS)
-sizes_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(align_SOURCES) $(chksum_SOURCES) $(promote_SOURCES) \
- $(sizes_SOURCES)
-DIST_SOURCES = $(align_SOURCES) $(chksum_SOURCES) $(promote_SOURCES) \
- $(sizes_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run aclocal-1.9
-AMDEP_FALSE = #
-AMDEP_TRUE =
-AMTAR = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run automake-1.9
-AWK = mawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-ECHO = echo
-ECHO_C =
-ECHO_N = -n
-ECHO_T =
-EGREP = grep -E
-EXEEXT =
-F77 =
-FFLAGS =
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
-LDFLAGS =
-LIBOBJS =
-LIBS =
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS =
-LZO_ASM_VPATH = :/home/fries/Development/android/source/external/lzo/asm/i386/src_gas
-LZO_CFLAGS =
-LZO_CPPFLAGS =
-LZO_EXTRA_CFLAGS =
-LZO_EXTRA_CPPFLAGS =
-LZO_USE_ASM_FALSE = #
-LZO_USE_ASM_TRUE =
-MAINT = #
-MAINTAINER_MODE_FALSE =
-MAINTAINER_MODE_TRUE = #
-MAKEINFO = ${SHELL} /home/fries/Development/android/source/external/lzo/autoconf/missing --run makeinfo
-OBJEXT = o
-PACKAGE = lzo
-PACKAGE_BUGREPORT = markus@oberhumer.com
-PACKAGE_NAME = lzo
-PACKAGE_STRING = lzo 2.03
-PACKAGE_TARNAME = lzo
-PACKAGE_VERSION = 2.03
-PATH_SEPARATOR = :
-RANLIB = ranlib
-SET_MAKE =
-SHELL = /bin/bash
-STRIP = strip
-VERSION = 2.03
-ac_ct_AR = ar
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 =
-ac_ct_RANLIB = ranlib
-ac_ct_STRIP = strip
-am__fastdepCC_FALSE = #
-am__fastdepCC_TRUE =
-am__fastdepCXX_FALSE = #
-am__fastdepCXX_TRUE =
-am__include = include
-am__leading_dot = .
-am__quote =
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = i686-pc-linux-gnu
-build_alias =
-build_cpu = i686
-build_os = linux-gnu
-build_vendor = pc
-configure_CFLAGS = -g -O2
-configure_CPPFLAGS = -DLZO_HAVE_CONFIG_H -DLZO_USE_ASM
-datadir = ${prefix}/share
-exec_prefix = ${prefix}
-host = i686-pc-linux-gnu
-host_alias =
-host_cpu = i686
-host_os = linux-gnu
-host_vendor = pc
-includedir = ${prefix}/include
-infodir = ${prefix}/info
-install_sh = /home/fries/Development/android/source/external/lzo/autoconf/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localstatedir = ${prefix}/var
-mandir = ${prefix}/man
-mkdir_p = mkdir -p --
-oldincludedir = /usr/include
-prefix = /usr/local
-program_transform_name = s,x,x,
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-sysconfdir = ${prefix}/etc
-target = i686-pc-linux-gnu
-target_alias =
-target_cpu = i686
-target_os = linux-gnu
-target_vendor = pc
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-align_SOURCES = align.c
-chksum_SOURCES = chksum.c
-promote_SOURCES = promote.c
-sizes_SOURCES = sizes.c
-align_LDADD = ../src/liblzo2.la
-chksum_LDADD = ../src/liblzo2.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: # $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-align$(EXEEXT): $(align_OBJECTS) $(align_DEPENDENCIES)
- @rm -f align$(EXEEXT)
- $(LINK) $(align_LDFLAGS) $(align_OBJECTS) $(align_LDADD) $(LIBS)
-chksum$(EXEEXT): $(chksum_OBJECTS) $(chksum_DEPENDENCIES)
- @rm -f chksum$(EXEEXT)
- $(LINK) $(chksum_LDFLAGS) $(chksum_OBJECTS) $(chksum_LDADD) $(LIBS)
-promote$(EXEEXT): $(promote_OBJECTS) $(promote_DEPENDENCIES)
- @rm -f promote$(EXEEXT)
- $(LINK) $(promote_LDFLAGS) $(promote_OBJECTS) $(promote_LDADD) $(LIBS)
-sizes$(EXEEXT): $(sizes_OBJECTS) $(sizes_DEPENDENCIES)
- @rm -f sizes$(EXEEXT)
- $(LINK) $(sizes_LDFLAGS) $(sizes_OBJECTS) $(sizes_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-include ./$(DEPDIR)/align.Po
-include ./$(DEPDIR)/chksum.Po
-include ./$(DEPDIR)/promote.Po
-include ./$(DEPDIR)/sizes.Po
-
-.c.o:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c $<
-
-.c.obj:
- if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=no \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
- then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-# source='$<' object='$@' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/tests/Makefile.am b/main/lzo/tests/Makefile.am
deleted file mode 100644
index 08246b33..00000000
--- a/main/lzo/tests/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-## Process this file with automake to create Makefile.in
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-
-noinst_PROGRAMS = align chksum promote sizes
-
-align_SOURCES = align.c
-chksum_SOURCES = chksum.c
-promote_SOURCES = promote.c
-sizes_SOURCES = sizes.c
-
-align_LDADD = ../src/liblzo2.la
-chksum_LDADD = ../src/liblzo2.la
-
diff --git a/main/lzo/tests/Makefile.in b/main/lzo/tests/Makefile.in
deleted file mode 100644
index d86aa1f4..00000000
--- a/main/lzo/tests/Makefile.in
+++ /dev/null
@@ -1,468 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-noinst_PROGRAMS = align$(EXEEXT) chksum$(EXEEXT) promote$(EXEEXT) \
- sizes$(EXEEXT)
-subdir = tests
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_align_OBJECTS = align.$(OBJEXT)
-align_OBJECTS = $(am_align_OBJECTS)
-align_DEPENDENCIES = ../src/liblzo2.la
-am_chksum_OBJECTS = chksum.$(OBJEXT)
-chksum_OBJECTS = $(am_chksum_OBJECTS)
-chksum_DEPENDENCIES = ../src/liblzo2.la
-am_promote_OBJECTS = promote.$(OBJEXT)
-promote_OBJECTS = $(am_promote_OBJECTS)
-promote_LDADD = $(LDADD)
-am_sizes_OBJECTS = sizes.$(OBJEXT)
-sizes_OBJECTS = $(am_sizes_OBJECTS)
-sizes_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(align_SOURCES) $(chksum_SOURCES) $(promote_SOURCES) \
- $(sizes_SOURCES)
-DIST_SOURCES = $(align_SOURCES) $(chksum_SOURCES) $(promote_SOURCES) \
- $(sizes_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LZO_ASM_VPATH = @LZO_ASM_VPATH@
-LZO_CFLAGS = @LZO_CFLAGS@
-LZO_CPPFLAGS = @LZO_CPPFLAGS@
-LZO_EXTRA_CFLAGS = @LZO_EXTRA_CFLAGS@
-LZO_EXTRA_CPPFLAGS = @LZO_EXTRA_CPPFLAGS@
-LZO_USE_ASM_FALSE = @LZO_USE_ASM_FALSE@
-LZO_USE_ASM_TRUE = @LZO_USE_ASM_TRUE@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-configure_CFLAGS = @configure_CFLAGS@
-configure_CPPFLAGS = @configure_CPPFLAGS@
-datadir = @datadir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
-align_SOURCES = align.c
-chksum_SOURCES = chksum.c
-promote_SOURCES = promote.c
-sizes_SOURCES = sizes.c
-align_LDADD = ../src/liblzo2.la
-chksum_LDADD = ../src/liblzo2.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; for p in $$list; do \
- f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f $$p $$f"; \
- rm -f $$p $$f ; \
- done
-align$(EXEEXT): $(align_OBJECTS) $(align_DEPENDENCIES)
- @rm -f align$(EXEEXT)
- $(LINK) $(align_LDFLAGS) $(align_OBJECTS) $(align_LDADD) $(LIBS)
-chksum$(EXEEXT): $(chksum_OBJECTS) $(chksum_DEPENDENCIES)
- @rm -f chksum$(EXEEXT)
- $(LINK) $(chksum_LDFLAGS) $(chksum_OBJECTS) $(chksum_LDADD) $(LIBS)
-promote$(EXEEXT): $(promote_OBJECTS) $(promote_DEPENDENCIES)
- @rm -f promote$(EXEEXT)
- $(LINK) $(promote_LDFLAGS) $(promote_OBJECTS) $(promote_LDADD) $(LIBS)
-sizes$(EXEEXT): $(sizes_OBJECTS) $(sizes_DEPENDENCIES)
- @rm -f sizes$(EXEEXT)
- $(LINK) $(sizes_LDFLAGS) $(sizes_OBJECTS) $(sizes_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/align.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chksum.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/promote.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sizes.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstPROGRAMS ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/main/lzo/tests/align.c b/main/lzo/tests/align.c
index 59bf8333..e159bf0e 100644
--- a/main/lzo/tests/align.c
+++ b/main/lzo/tests/align.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/tests/chksum.c b/main/lzo/tests/chksum.c
index fb4fb0dd..fc492da2 100644
--- a/main/lzo/tests/chksum.c
+++ b/main/lzo/tests/chksum.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/tests/promote.c b/main/lzo/tests/promote.c
index 1bf8d63e..f516f28a 100644
--- a/main/lzo/tests/promote.c
+++ b/main/lzo/tests/promote.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/tests/sizes.c b/main/lzo/tests/sizes.c
index 6be9c1da..18a81b04 100644
--- a/main/lzo/tests/sizes.c
+++ b/main/lzo/tests/sizes.c
@@ -2,7 +2,7 @@
This file is part of the LZO real-time data compression library.
- Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+ Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
diff --git a/main/lzo/util/check.sh b/main/lzo/util/check.sh
index 9c7790ad..806c8406 100644
--- a/main/lzo/util/check.sh
+++ b/main/lzo/util/check.sh
@@ -8,7 +8,7 @@ set -e
# on a complete directory tree.
# It is not suitable for accurate timings.
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
#
if test "X$LZOTEST" = X; then
diff --git a/main/lzo/util/checkasm.sh b/main/lzo/util/checkasm.sh
index aef5ec00..668a8753 100644
--- a/main/lzo/util/checkasm.sh
+++ b/main/lzo/util/checkasm.sh
@@ -8,7 +8,7 @@ set -e
# on a complete directory tree.
# It is not suitable for accurate timings.
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
#
if test "X$LZOTEST" = X; then
diff --git a/main/lzo/util/notime.pl b/main/lzo/util/notime.pl
index a4e92b0a..b5be12d6 100644
--- a/main/lzo/util/notime.pl
+++ b/main/lzo/util/notime.pl
@@ -9,7 +9,7 @@
## Description:
## Remove timing values from a table created by table.pl
##
-## Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
##
##---------------------------------------------------------------------------##
diff --git a/main/lzo/util/overlap.sh b/main/lzo/util/overlap.sh
index 2e1ffa4d..439844e7 100644
--- a/main/lzo/util/overlap.sh
+++ b/main/lzo/util/overlap.sh
@@ -7,7 +7,7 @@ set -e
# This script runs the overlap example program
# on a complete directory tree.
#
-# Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+# Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
#
OVERLAP="./examples/overlap"
diff --git a/main/lzo/util/shortf.pl b/main/lzo/util/shortf.pl
index 44a2e839..500eb450 100644
--- a/main/lzo/util/shortf.pl
+++ b/main/lzo/util/shortf.pl
@@ -9,7 +9,7 @@
## Description:
## Create short files for compression test
##
-## Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
##
##---------------------------------------------------------------------------##
diff --git a/main/lzo/util/table.pl b/main/lzo/util/table.pl
index abc193ea..3fc977ff 100644
--- a/main/lzo/util/table.pl
+++ b/main/lzo/util/table.pl
@@ -9,7 +9,7 @@
## Description:
## Convert the output of the LZO lzotest program into a nice table.
##
-## Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
##
##---------------------------------------------------------------------------##
diff --git a/main/lzo/util/uncompr.pl b/main/lzo/util/uncompr.pl
index d6fafb02..a487ca68 100644
--- a/main/lzo/util/uncompr.pl
+++ b/main/lzo/util/uncompr.pl
@@ -9,7 +9,7 @@
## Description:
## Create incompressible files for compression test
##
-## Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
+## Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
##
##---------------------------------------------------------------------------##
diff --git a/main/misc/build-native.bat b/main/misc/build-native.bat
index 9885557a..8f1323e5 100644
--- a/main/misc/build-native.bat
+++ b/main/misc/build-native.bat
@@ -1,25 +1,77 @@
+@echo off
-@echo on
-echo Currently broken, feel free to fix and send me a patch, see the build-native.sh file how native libraries are build on UNIX
-exit 1
+setlocal EnableDelayedExpansion
-call ndk-build APP_ABI=x86_64 -j 8 USE_BREAKPAD=0
+if not exist openvpn\.git (
+ set lasterror=Cannot find .git directory in openvpn, aborting
+ goto :error
+) else (
+ cd openvpn
+ set head=HEAD
+ for /F "tokens=3 delims=/" %%F in ('git rev-parse --symbolic-full-name HEAD') do (
+ set head=%%F
+ )
+
+ git rev-parse --short=16 HEAD > commit.tmp
+ set /p commit=<commit.tmp
+ del commit.tmp
+
+ set revision=%head%-%commit%
+
+ echo #define CONFIGURE_GIT_REVISION "%revision%"> config-version.h.tmp
+
+ git diff-files --name-status -r --ignore-submodules --quiet -- > flags.tmp || echo +> flags.tmp
+ git diff-index --cached --quiet --ignore-submodules HEAD > flags.tmp || echo *>> flags.tmp
+ set /p flags=<flags.tmp
+ del flags.tmp
+
+ echo #define CONFIGURE_GIT_FLAGS "%flags%">> config-version.h.tmp
+
+ fc /b config-version.h.tmp config-version.h 1>nul 2>nul
+ if not errorlevel 1 goto keep
+
+ echo replacing config-version.h
+ copy config-version.h.tmp config-version.h
+
+:keep
+ del config-version.h.tmp
+
+ cd ..
+)
+
+if [%1] == [] (
+ call ndk-build USE_SHORT_COMMANDS=1 -j 8 USE_BREAKPAD=0
+) else (
+ call ndk-build USE_SHORT_COMMANDS=1 %*
+)
+
+if not errorlevel 0 goto error
+
+if exist ovpnlibs rmdir /Q /S ovpnlibs
cd libs
mkdir ..\ovpnlibs
mkdir ..\ovpnlibs\assets
+mkdir ..\ovpnlibs\jniLibs
for /D %%f in (*) do (
- copy %%f\nopievpn ..\ovpnlibs\assets\nopievpn.%%f
- copy %%f\pievpn ..\ovpnlibs\assets\pievpn.%%f
+ copy %%f\nopie_openvpn ..\ovpnlibs\assets\nopie_openvpn.%%f
+ copy %%f\pie_openvpn ..\ovpnlibs\assets\pie_openvpn.%%f
- del %%f\libcrypto.so
- del %%f\libssl.so
+ rem Remove compiled openssl libs, will use platform .so libs
+ rem Reduces size of apk
+ del /Q %%f\libcrypto.so
+ del /Q %%f\libssl.so
- mkdir ..\ovpnlibs\jniLibs
- mkdir ..\ovpnlibs\jniLibs\%%f\
- copy %%f\*.so ..\ovpnlibs\jniLibs\%%f\
+ mkdir ..\ovpnlibs\jniLibs\%%f\
+ copy %%f\*.so ..\ovpnlibs\jniLibs\%%f\
)
-cd ..
+goto :exit
+
+:error
+echo(%lasterror%
+exit /b %errorlevel%
+
+:exit \ No newline at end of file
diff --git a/main/misc/build-native.sh b/main/misc/build-native.sh
index 892b075d..75706e21 100755
--- a/main/misc/build-native.sh
+++ b/main/misc/build-native.sh
@@ -44,7 +44,7 @@ if [ $? = 0 ]; then
# Removed compiled openssl libs, will use platform so libs
# Reduces size of apk
#
- rm -v */libcrypto.so */libssl.so
+ rm -v */libcrypto.so */libssl.so || true
for arch in *
do
diff --git a/misc/dump_syms.sh b/main/misc/dump_syms.sh
index 6f6f7c6d..1173555c 100755
--- a/misc/dump_syms.sh
+++ b/main/misc/dump_syms.sh
@@ -4,14 +4,15 @@
function dumplib()
{
LIB=$1
- for arch in armeabi-v7a armeabi; do
+ for arch in armeabi-v7a armeabi arm64-v8a x86 x86_64; do
VER=$(dump_syms obj/local/$arch/$LIB |grep MODULE | cut -d " " -f 4)
mkdir -p symbols/$LIB/$VER
- dump_syms obj/local/armeabi-v7a/$LIB > symbols/$LIB/$VER/$LIB.sym
+ dump_syms obj/local/$arch/$LIB > symbols/$LIB/$VER/$LIB.sym
done
}
dumplib libopenvpn.so
+dumplib pie_openvpn
diff --git a/main/misc/fetchtranslations.sh b/main/misc/fetchtranslations.sh
index 4d03730a..b6589ce9 100755
--- a/main/misc/fetchtranslations.sh
+++ b/main/misc/fetchtranslations.sh
@@ -9,7 +9,7 @@ then
fi
echo "Fetch translation archive"
-wget -q http://crowdin.net/download/project/ics-openvpn.zip
+wget -q https://crowdin.com/download/project/ics-openvpn.zip
# Chinese language require zh-CN and zh-TW
diff --git a/main/openssl b/main/openssl
-Subproject f6da7c53fd01990e8e039dbfd5e9ea87e50d1d4
+Subproject 8b837cde90aa660dbbe9075c40a508e21f1aba1
diff --git a/main/openvpn b/main/openvpn
-Subproject f950206d3f6d181eea5a267548e793c2429aace
+Subproject da9d62d4d329d3fc7b012bc8b9d213d9a4685a8
diff --git a/main/ovpn3/Android.mk b/main/ovpn3/Android.mk
index 7f037ac0..4564ca52 100644
--- a/main/ovpn3/Android.mk
+++ b/main/ovpn3/Android.mk
@@ -3,16 +3,18 @@ LOCAL_PATH:= $(call my-dir)/
include $(CLEAR_VARS)
LOCAL_LDLIBS := -lz
-LOCAL_C_INCLUDES := openssl/include lzo/include openssl/crypto openssl openvpn/src/compat openvpn3/client openvpn3 boost_1_55_0 polarssl/include snappy
+LOCAL_C_INCLUDES := openssl/include lzo/include openssl/crypto openssl openvpn/src/compat openvpn3/client openvpn3 boost_1_55_0 polarssl/include snappy asio/asio/include
LOCAL_CPP_FEATURES += exceptions rtti
#LOCAL_SHARED_LIBRARIES := libssl libcrypto
-LOCAL_SHARED_LIBRARIES := polarssl-dynamic
-#LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static liblzo-static
-LOCAL_STATIC_LIBRARIES := liblzo-static snappy-static
+#LOCAL_SHARED_LIBRARIES := polarssl-dynamic
+LOCAL_STATIC_LIBRARIES := libssl_static libcrypto_static liblzo-static
+#LOCAL_STATIC_LIBRARIES := liblzo-static
-#LOCAL_CFLAGS= -DHAVE_CONFIG_H -DTARGET_ABI=\"${TARGET_ABI}\" -DUSE_OPENSSL -DOPENSSL_NO_ENGINE
-LOCAL_CFLAGS= -DHAVE_CONFIG_H -DTARGET_ABI=\"${TARGET_ABI}\" -DUSE_POLARSSL -DHAVE_SNAPPY -DHAVE_LZO
+#LOCAL_CFLAGS= -DHAVE_CONFIG_H -DTARGET_ABI=\"${TARGET_ABI}\" -DUSE_POLARSSL -DHAVE_LZO -DASIO_STANDALONE
+LOCAL_CFLAGS= -DHAVE_CONFIG_H -DTARGET_ABI=\"${TARGET_ABI}\" -DUSE_OPENSSL -DHAVE_LZO -DASIO_STANDALONE
+
+LOCAL_CXXFLAGS += -std=c++1y
#ifneq ($(TARGET_ARCH),mips)
#LOCAL_STATIC_LIBRARIES += breakpad_client
@@ -23,7 +25,6 @@ LOCAL_MODULE = ovpn3
LOCAL_SRC_FILES:= \
../openvpn3/javacli/ovpncli_wrap.cxx \
- boostsrc/error_code.cpp \
../openvpn3/client/ovpncli.cpp \
diff --git a/main/ovpn3/boostsrc/error_code.cpp b/main/ovpn3/boostsrc/error_code.cpp
deleted file mode 100644
index 6772d154..00000000
--- a/main/ovpn3/boostsrc/error_code.cpp
+++ /dev/null
@@ -1,430 +0,0 @@
-// error_code support implementation file ----------------------------------//
-
-// Copyright Beman Dawes 2002, 2006
-
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-// See library home page at http://www.boost.org/libs/system
-
-//----------------------------------------------------------------------------//
-
-#include <boost/config/warning_disable.hpp>
-
-// define BOOST_SYSTEM_SOURCE so that <boost/system/config.hpp> knows
-// the library is being built (possibly exporting rather than importing code)
-#define BOOST_SYSTEM_SOURCE
-
-#include <boost/system/config.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/cerrno.hpp>
-#include <vector>
-#include <cstdlib>
-#include <cassert>
-
-using namespace boost::system;
-using namespace boost::system::errc;
-
-#include <cstring> // for strerror/strerror_r
-
-# if defined( BOOST_WINDOWS_API )
-# include <windows.h>
-# include "local_free_on_destruction.hpp"
-# ifndef ERROR_INCORRECT_SIZE
-# define ERROR_INCORRECT_SIZE ERROR_BAD_ARGUMENTS
-# endif
-# endif
-
-//----------------------------------------------------------------------------//
-
-namespace
-{
-#if defined(__PGI)
- using boost::system::errc::invalid_argument;
-#endif
- // standard error categories ---------------------------------------------//
-
- class generic_error_category : public error_category
- {
- public:
- generic_error_category(){}
- const char * name() const;
- std::string message( int ev ) const;
- };
-
- class system_error_category : public error_category
- {
- public:
- system_error_category(){}
- const char * name() const;
- std::string message( int ev ) const;
- error_condition default_error_condition( int ev ) const;
- };
-
- // generic_error_category implementation ---------------------------------//
-
- const char * generic_error_category::name() const
- {
- return "generic";
- }
-
- std::string generic_error_category::message( int ev ) const
- {
- static std::string unknown_err( "Unknown error" );
- // strerror_r is preferred because it is always thread safe,
- // however, we fallback to strerror in certain cases because:
- // -- Windows doesn't provide strerror_r.
- // -- HP and Sun do provide strerror_r on newer systems, but there is
- // no way to tell if is available at runtime and in any case their
- // versions of strerror are thread safe anyhow.
- // -- Linux only sometimes provides strerror_r.
- // -- Tru64 provides strerror_r only when compiled -pthread.
- // -- VMS doesn't provide strerror_r, but on this platform, strerror is
- // thread safe.
- # if defined(BOOST_WINDOWS_API) || defined(__hpux) || defined(__sun)\
- || (defined(__linux) && (!defined(__USE_XOPEN2K) || defined(BOOST_SYSTEM_USE_STRERROR)))\
- || (defined(__osf__) && !defined(_REENTRANT))\
- || (defined(__INTEGRITY))\
- || (defined(__vms))\
- || (defined(__QNXNTO__))
- const char * c_str = std::strerror( ev );
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else // use strerror_r
- char buf[64];
- char * bp = buf;
- std::size_t sz = sizeof(buf);
- # if defined(__CYGWIN__) || defined(__USE_GNU)
- // Oddball version of strerror_r
- const char * c_str = strerror_r( ev, bp, sz );
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else
- // POSIX version of strerror_r
- int result;
- for (;;)
- {
- // strerror_r returns 0 on success, otherwise ERANGE if buffer too small,
- // invalid_argument if ev not a valid error number
- # if defined (__sgi)
- const char * c_str = strerror( ev );
- result = 0;
- return c_str
- ? std::string( c_str )
- : unknown_err;
- # else
- result = strerror_r( ev, bp, sz );
- # endif
- if (result == 0 )
- break;
- else
- {
- # if defined(__linux)
- // Linux strerror_r returns -1 on error, with error number in errno
- result = errno;
- # endif
- if ( result != ERANGE ) break;
- if ( sz > sizeof(buf) ) std::free( bp );
- sz *= 2;
- if ( (bp = static_cast<char*>(std::malloc( sz ))) == 0 )
- return std::string( "ENOMEM" );
- }
- }
- std::string msg;
- try
- {
- msg = ( ( result == invalid_argument ) ? "Unknown error" : bp );
- }
-
-# ifndef BOOST_NO_EXCEPTIONS
- // See ticket #2098
- catch(...)
- {
- // just eat the exception
- }
-# endif
-
- if ( sz > sizeof(buf) ) std::free( bp );
- sz = 0;
- return msg;
- # endif // else POSIX version of strerror_r
- # endif // else use strerror_r
- }
- // system_error_category implementation --------------------------------//
-
- const char * system_error_category::name() const
- {
- return "system";
- }
-
- error_condition system_error_category::default_error_condition( int ev ) const
- {
- switch ( ev )
- {
- case 0: return make_error_condition( success );
-# if defined(BOOST_POSIX_API)
- // POSIX-like O/S -> posix_errno decode table ---------------------------//
- case E2BIG: return make_error_condition( argument_list_too_long );
- case EACCES: return make_error_condition( permission_denied );
- case EADDRINUSE: return make_error_condition( address_in_use );
- case EADDRNOTAVAIL: return make_error_condition( address_not_available );
- case EAFNOSUPPORT: return make_error_condition( address_family_not_supported );
- case EAGAIN: return make_error_condition( resource_unavailable_try_again );
-# if EALREADY != EBUSY // EALREADY and EBUSY are the same on QNX Neutrino
- case EALREADY: return make_error_condition( connection_already_in_progress );
-# endif
- case EBADF: return make_error_condition( bad_file_descriptor );
- case EBADMSG: return make_error_condition( bad_message );
- case EBUSY: return make_error_condition( device_or_resource_busy );
- case ECANCELED: return make_error_condition( operation_canceled );
- case ECHILD: return make_error_condition( no_child_process );
- case ECONNABORTED: return make_error_condition( connection_aborted );
- case ECONNREFUSED: return make_error_condition( connection_refused );
- case ECONNRESET: return make_error_condition( connection_reset );
- case EDEADLK: return make_error_condition( resource_deadlock_would_occur );
- case EDESTADDRREQ: return make_error_condition( destination_address_required );
- case EDOM: return make_error_condition( argument_out_of_domain );
- case EEXIST: return make_error_condition( file_exists );
- case EFAULT: return make_error_condition( bad_address );
- case EFBIG: return make_error_condition( file_too_large );
- case EHOSTUNREACH: return make_error_condition( host_unreachable );
- case EIDRM: return make_error_condition( identifier_removed );
- case EILSEQ: return make_error_condition( illegal_byte_sequence );
- case EINPROGRESS: return make_error_condition( operation_in_progress );
- case EINTR: return make_error_condition( interrupted );
- case EINVAL: return make_error_condition( invalid_argument );
- case EIO: return make_error_condition( io_error );
- case EISCONN: return make_error_condition( already_connected );
- case EISDIR: return make_error_condition( is_a_directory );
- case ELOOP: return make_error_condition( too_many_symbolic_link_levels );
- case EMFILE: return make_error_condition( too_many_files_open );
- case EMLINK: return make_error_condition( too_many_links );
- case EMSGSIZE: return make_error_condition( message_size );
- case ENAMETOOLONG: return make_error_condition( filename_too_long );
- case ENETDOWN: return make_error_condition( network_down );
- case ENETRESET: return make_error_condition( network_reset );
- case ENETUNREACH: return make_error_condition( network_unreachable );
- case ENFILE: return make_error_condition( too_many_files_open_in_system );
- case ENOBUFS: return make_error_condition( no_buffer_space );
- case ENODATA: return make_error_condition( no_message_available );
- case ENODEV: return make_error_condition( no_such_device );
- case ENOENT: return make_error_condition( no_such_file_or_directory );
- case ENOEXEC: return make_error_condition( executable_format_error );
- case ENOLCK: return make_error_condition( no_lock_available );
- case ENOLINK: return make_error_condition( no_link );
- case ENOMEM: return make_error_condition( not_enough_memory );
- case ENOMSG: return make_error_condition( no_message );
- case ENOPROTOOPT: return make_error_condition( no_protocol_option );
- case ENOSPC: return make_error_condition( no_space_on_device );
- case ENOSR: return make_error_condition( no_stream_resources );
- case ENOSTR: return make_error_condition( not_a_stream );
- case ENOSYS: return make_error_condition( function_not_supported );
- case ENOTCONN: return make_error_condition( not_connected );
- case ENOTDIR: return make_error_condition( not_a_directory );
- # if ENOTEMPTY != EEXIST // AIX treats ENOTEMPTY and EEXIST as the same value
- case ENOTEMPTY: return make_error_condition( directory_not_empty );
- # endif // ENOTEMPTY != EEXIST
- # if ENOTRECOVERABLE != ECONNRESET // the same on some Broadcom chips
- case ENOTRECOVERABLE: return make_error_condition( state_not_recoverable );
- # endif // ENOTRECOVERABLE != ECONNRESET
- case ENOTSOCK: return make_error_condition( not_a_socket );
- case ENOTSUP: return make_error_condition( not_supported );
- case ENOTTY: return make_error_condition( inappropriate_io_control_operation );
- case ENXIO: return make_error_condition( no_such_device_or_address );
- # if EOPNOTSUPP != ENOTSUP
- case EOPNOTSUPP: return make_error_condition( operation_not_supported );
- # endif // EOPNOTSUPP != ENOTSUP
- case EOVERFLOW: return make_error_condition( value_too_large );
- # if EOWNERDEAD != ECONNABORTED // the same on some Broadcom chips
- case EOWNERDEAD: return make_error_condition( owner_dead );
- # endif // EOWNERDEAD != ECONNABORTED
- case EPERM: return make_error_condition( operation_not_permitted );
- case EPIPE: return make_error_condition( broken_pipe );
- case EPROTO: return make_error_condition( protocol_error );
- case EPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
- case EPROTOTYPE: return make_error_condition( wrong_protocol_type );
- case ERANGE: return make_error_condition( result_out_of_range );
- case EROFS: return make_error_condition( read_only_file_system );
- case ESPIPE: return make_error_condition( invalid_seek );
- case ESRCH: return make_error_condition( no_such_process );
- case ETIME: return make_error_condition( stream_timeout );
- case ETIMEDOUT: return make_error_condition( timed_out );
- case ETXTBSY: return make_error_condition( text_file_busy );
- # if EAGAIN != EWOULDBLOCK
- case EWOULDBLOCK: return make_error_condition( operation_would_block );
- # endif // EAGAIN != EWOULDBLOCK
- case EXDEV: return make_error_condition( cross_device_link );
- #else
- // Windows system -> posix_errno decode table ---------------------------//
- // see WinError.h comments for descriptions of errors
- case ERROR_ACCESS_DENIED: return make_error_condition( permission_denied );
- case ERROR_ALREADY_EXISTS: return make_error_condition( file_exists );
- case ERROR_BAD_UNIT: return make_error_condition( no_such_device );
- case ERROR_BUFFER_OVERFLOW: return make_error_condition( filename_too_long );
- case ERROR_BUSY: return make_error_condition( device_or_resource_busy );
- case ERROR_BUSY_DRIVE: return make_error_condition( device_or_resource_busy );
- case ERROR_CANNOT_MAKE: return make_error_condition( permission_denied );
- case ERROR_CANTOPEN: return make_error_condition( io_error );
- case ERROR_CANTREAD: return make_error_condition( io_error );
- case ERROR_CANTWRITE: return make_error_condition( io_error );
- case ERROR_CURRENT_DIRECTORY: return make_error_condition( permission_denied );
- case ERROR_DEV_NOT_EXIST: return make_error_condition( no_such_device );
- case ERROR_DEVICE_IN_USE: return make_error_condition( device_or_resource_busy );
- case ERROR_DIR_NOT_EMPTY: return make_error_condition( directory_not_empty );
- case ERROR_DIRECTORY: return make_error_condition( invalid_argument ); // WinError.h: "The directory name is invalid"
- case ERROR_DISK_FULL: return make_error_condition( no_space_on_device );
- case ERROR_FILE_EXISTS: return make_error_condition( file_exists );
- case ERROR_FILE_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
- case ERROR_HANDLE_DISK_FULL: return make_error_condition( no_space_on_device );
- case ERROR_INVALID_ACCESS: return make_error_condition( permission_denied );
- case ERROR_INVALID_DRIVE: return make_error_condition( no_such_device );
- case ERROR_INVALID_FUNCTION: return make_error_condition( function_not_supported );
- case ERROR_INVALID_HANDLE: return make_error_condition( invalid_argument );
- case ERROR_INVALID_NAME: return make_error_condition( invalid_argument );
- case ERROR_LOCK_VIOLATION: return make_error_condition( no_lock_available );
- case ERROR_LOCKED: return make_error_condition( no_lock_available );
- case ERROR_NEGATIVE_SEEK: return make_error_condition( invalid_argument );
- case ERROR_NOACCESS: return make_error_condition( permission_denied );
- case ERROR_NOT_ENOUGH_MEMORY: return make_error_condition( not_enough_memory );
- case ERROR_NOT_READY: return make_error_condition( resource_unavailable_try_again );
- case ERROR_NOT_SAME_DEVICE: return make_error_condition( cross_device_link );
- case ERROR_OPEN_FAILED: return make_error_condition( io_error );
- case ERROR_OPEN_FILES: return make_error_condition( device_or_resource_busy );
- case ERROR_OPERATION_ABORTED: return make_error_condition( operation_canceled );
- case ERROR_OUTOFMEMORY: return make_error_condition( not_enough_memory );
- case ERROR_PATH_NOT_FOUND: return make_error_condition( no_such_file_or_directory );
- case ERROR_READ_FAULT: return make_error_condition( io_error );
- case ERROR_RETRY: return make_error_condition( resource_unavailable_try_again );
- case ERROR_SEEK: return make_error_condition( io_error );
- case ERROR_SHARING_VIOLATION: return make_error_condition( permission_denied );
- case ERROR_TOO_MANY_OPEN_FILES: return make_error_condition( too_many_files_open );
- case ERROR_WRITE_FAULT: return make_error_condition( io_error );
- case ERROR_WRITE_PROTECT: return make_error_condition( permission_denied );
- case WSAEACCES: return make_error_condition( permission_denied );
- case WSAEADDRINUSE: return make_error_condition( address_in_use );
- case WSAEADDRNOTAVAIL: return make_error_condition( address_not_available );
- case WSAEAFNOSUPPORT: return make_error_condition( address_family_not_supported );
- case WSAEALREADY: return make_error_condition( connection_already_in_progress );
- case WSAEBADF: return make_error_condition( bad_file_descriptor );
- case WSAECONNABORTED: return make_error_condition( connection_aborted );
- case WSAECONNREFUSED: return make_error_condition( connection_refused );
- case WSAECONNRESET: return make_error_condition( connection_reset );
- case WSAEDESTADDRREQ: return make_error_condition( destination_address_required );
- case WSAEFAULT: return make_error_condition( bad_address );
- case WSAEHOSTUNREACH: return make_error_condition( host_unreachable );
- case WSAEINPROGRESS: return make_error_condition( operation_in_progress );
- case WSAEINTR: return make_error_condition( interrupted );
- case WSAEINVAL: return make_error_condition( invalid_argument );
- case WSAEISCONN: return make_error_condition( already_connected );
- case WSAEMFILE: return make_error_condition( too_many_files_open );
- case WSAEMSGSIZE: return make_error_condition( message_size );
- case WSAENAMETOOLONG: return make_error_condition( filename_too_long );
- case WSAENETDOWN: return make_error_condition( network_down );
- case WSAENETRESET: return make_error_condition( network_reset );
- case WSAENETUNREACH: return make_error_condition( network_unreachable );
- case WSAENOBUFS: return make_error_condition( no_buffer_space );
- case WSAENOPROTOOPT: return make_error_condition( no_protocol_option );
- case WSAENOTCONN: return make_error_condition( not_connected );
- case WSAENOTSOCK: return make_error_condition( not_a_socket );
- case WSAEOPNOTSUPP: return make_error_condition( operation_not_supported );
- case WSAEPROTONOSUPPORT: return make_error_condition( protocol_not_supported );
- case WSAEPROTOTYPE: return make_error_condition( wrong_protocol_type );
- case WSAETIMEDOUT: return make_error_condition( timed_out );
- case WSAEWOULDBLOCK: return make_error_condition( operation_would_block );
- #endif
- default: return error_condition( ev, system_category() );
- }
- }
-
-# if !defined( BOOST_WINDOWS_API )
-
- std::string system_error_category::message( int ev ) const
- {
- return generic_category().message( ev );
- }
-# else
-
- std::string system_error_category::message( int ev ) const
- {
-# ifndef BOOST_NO_ANSI_APIS
- LPVOID lpMsgBuf = 0;
- DWORD retval = ::FormatMessageA(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- ev,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPSTR) &lpMsgBuf,
- 0,
- NULL
- );
- detail::local_free_on_destruction lfod(lpMsgBuf);
- if (retval == 0)
- return std::string("Unknown error");
-
- std::string str( static_cast<LPCSTR>(lpMsgBuf) );
-# else // WinCE workaround
- LPVOID lpMsgBuf = 0;
- DWORD retval = ::FormatMessageW(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- ev,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- (LPWSTR) &lpMsgBuf,
- 0,
- NULL
- );
- detail::local_free_on_destruction lfod(lpMsgBuf);
- if (retval == 0)
- return std::string("Unknown error");
-
- int num_chars = (wcslen( static_cast<LPCWSTR>(lpMsgBuf) ) + 1) * 2;
- LPSTR narrow_buffer = (LPSTR)_alloca( num_chars );
- if (::WideCharToMultiByte(CP_ACP, 0, static_cast<LPCWSTR>(lpMsgBuf), -1, narrow_buffer, num_chars, NULL, NULL) == 0)
- return std::string("Unknown error");
-
- std::string str( narrow_buffer );
-# endif
- while ( str.size()
- && (str[str.size()-1] == '\n' || str[str.size()-1] == '\r') )
- str.erase( str.size()-1 );
- if ( str.size() && str[str.size()-1] == '.' )
- { str.erase( str.size()-1 ); }
- return str;
- }
-# endif
-
-} // unnamed namespace
-
-namespace boost
-{
- namespace system
- {
-
-# ifndef BOOST_SYSTEM_NO_DEPRECATED
- BOOST_SYSTEM_DECL error_code throws; // "throw on error" special error_code;
- // note that it doesn't matter if this
- // isn't initialized before use since
- // the only use is to take its
- // address for comparison purposes
-# endif
-
- BOOST_SYSTEM_DECL const error_category & system_category()
- {
- static const system_error_category system_category_const;
- return system_category_const;
- }
-
- BOOST_SYSTEM_DECL const error_category & generic_category()
- {
- static const generic_error_category generic_category_const;
- return generic_category_const;
- }
-
- } // namespace system
-} // namespace boost
diff --git a/main/src/main/AndroidManifest.xml b/main/src/main/AndroidManifest.xml
index bf499648..d8239bc9 100644
--- a/main/src/main/AndroidManifest.xml
+++ b/main/src/main/AndroidManifest.xml
@@ -67,14 +67,17 @@
<service
android:name=".core.OpenVPNService"
+ android:process=":openvpn"
android:permission="android.permission.BIND_VPN_SERVICE" >
<intent-filter>
<action android:name="android.net.VpnService" />
</intent-filter>
+
</service>
<service
android:name=".api.ExternalOpenVPNService"
+ android:process=":openvpn"
tools:ignore="ExportedService">
<intent-filter>
@@ -82,6 +85,24 @@
</intent-filter>
</service>
+ <service android:name=".core.OpenVPNStatusService"
+ android:process=":openvpn"
+ android:exported="false" />
+
+
+ <service
+ android:name=".OpenVPNTileService"
+ android:value="true"
+ android:label="@string/qs_title"
+ android:icon="@drawable/ic_quick"
+ android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
+ <intent-filter>
+ <action android:name="android.service.quicksettings.action.QS_TILE" />
+ </intent-filter>
+ <meta-data android:name="android.service.quicksettings.ACTIVE_TILE"
+ android:value="false" />
+ </service>
+
<activity android:name=".api.GrantPermissionsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -108,7 +129,8 @@
android:taskAffinity=".ConfigConverter"
android:uiOptions="splitActionBarWhenNarrow"
tools:ignore="ExportedActivity">
- <intent-filter android:label="@string/import_config">
+ <intent-filter android:label="@string/import_config"
+ tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
@@ -116,7 +138,8 @@
<data android:mimeType="application/x-openvpn-profile" />
</intent-filter>
- <intent-filter android:label="@string/import_config">
+ <intent-filter android:label="@string/import_config"
+ tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
@@ -147,7 +170,22 @@
android:autoRemoveFromRecents="true"
android:excludeFromRecents="true"
android:label="@string/vpn_launch_title"
- android:noHistory="true"
+ android:taskAffinity=".LaunchVPN"
+ android:theme="@style/blinkt.dialog"
+ tools:ignore="ExportedActivity">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
+
+
+ <activity
+ android:name=".api.Intents"
+ android:autoRemoveFromRecents="true"
+ android:excludeFromRecents="true"
+ android:label="@string/vpn_launch_title"
android:taskAffinity=".LaunchVPN"
android:theme="@style/blinkt.dialog"
tools:ignore="ExportedActivity">
@@ -178,6 +216,7 @@
android:grantUriPermissions="true"
tools:ignore="ExportedContentProvider" />
+
<!--
<receiver android:name="core.GetRestrictionReceiver">
<intent-filter>
diff --git a/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl b/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
index 273a0046..c0108a90 100644
--- a/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
+++ b/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
@@ -20,12 +20,12 @@ interface IOpenVPNAPIService {
/** start a profile using a config as inline string. Make sure that all needed data is inlined,
* e.g., using <ca>...</ca> or <auth-user-data>...</auth-user-data>
* See the OpenVPN manual page for more on inlining files */
- void startVPN (String inlineconfig);
+ void startVPN (in String inlineconfig);
/** This permission framework is used to avoid confused deputy style attack to the VPN
* calling this will give null if the app is allowed to use the external API and an Intent
* that can be launched to request permissions otherwise */
- Intent prepare (String packagename);
+ Intent prepare (in String packagename);
/** Used to trigger to the Android VPN permission dialog (VPNService.prepare()) in advance,
* if this return null OpenVPN for ANdroid already has the permissions otherwise you can start the returned Intent
@@ -44,15 +44,15 @@ interface IOpenVPNAPIService {
/**
* Registers to receive OpenVPN Status Updates
*/
- void registerStatusCallback(IOpenVPNStatusCallback cb);
+ void registerStatusCallback(in IOpenVPNStatusCallback cb);
/**
* Remove a previously registered callback interface.
*/
- void unregisterStatusCallback(IOpenVPNStatusCallback cb);
+ void unregisterStatusCallback(in IOpenVPNStatusCallback cb);
/** Remove a profile by UUID */
- void removeProfile (String profileUUID);
+ void removeProfile (in String profileUUID);
/** Request a socket to be protected as a VPN socket would be. Useful for creating
* a helper socket for an app controlling OpenVPN
diff --git a/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl b/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl
index 1dfa1381..c7310c6a 100644
--- a/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl
+++ b/main/src/main/aidl/de/blinkt/openvpn/api/IOpenVPNStatusCallback.aidl
@@ -5,9 +5,9 @@ package de.blinkt.openvpn.api;
* synchronous notifications back to its clients. Note that this is a
* one-way interface so the server does not block waiting for the client.
*/
-oneway interface IOpenVPNStatusCallback {
+interface IOpenVPNStatusCallback {
/**
* Called when the service has a new status for you.
*/
- void newStatus(String uuid, String state, String message, String level);
+ oneway void newStatus(in String uuid, in String state, in String message, in String level);
}
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/ConnectionStatus.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/ConnectionStatus.aidl
new file mode 100644
index 00000000..f37c3101
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/ConnectionStatus.aidl
@@ -0,0 +1,3 @@
+package de.blinkt.openvpn.core;
+
+parcelable ConnectionStatus; \ No newline at end of file
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/IOpenVPNServiceInternal.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/IOpenVPNServiceInternal.aidl
new file mode 100644
index 00000000..3958bcf3
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/IOpenVPNServiceInternal.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+/**
+ * Created by arne on 15.11.16.
+ */
+
+interface IOpenVPNServiceInternal {
+
+ boolean protect(int fd);
+
+ void userPause(boolean b);
+
+ /**
+ * @param replaceConnection True if the VPN is connected by a new connection.
+ * @return true if there was a process that has been send a stop signal
+ */
+ boolean stopVPN(boolean replaceConnection);
+}
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/IServiceStatus.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/IServiceStatus.aidl
new file mode 100644
index 00000000..5a5cbdb5
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/IServiceStatus.aidl
@@ -0,0 +1,36 @@
+// StatusIPC.aidl
+package de.blinkt.openvpn.core;
+
+// Declare any non-default types here with import statements
+import de.blinkt.openvpn.core.IStatusCallbacks;
+import android.os.ParcelFileDescriptor;
+import de.blinkt.openvpn.core.TrafficHistory;
+
+
+interface IServiceStatus {
+ /**
+ * Registers to receive OpenVPN Status Updates and gets a
+ * ParcelFileDescript back that contains the log up to that point
+ */
+ ParcelFileDescriptor registerStatusCallback(in IStatusCallbacks cb);
+
+ /**
+ * Remove a previously registered callback interface.
+ */
+ void unregisterStatusCallback(in IStatusCallbacks cb);
+
+ /**
+ * Returns the last connedcted VPN
+ */
+ String getLastConnectedVPN();
+
+ /**
+ * Sets a cached password
+ */
+ void setCachedPassword(in String uuid, int type, String password);
+
+ /**
+ * Gets the traffic history
+ */
+ TrafficHistory getTrafficHistory();
+}
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/IStatusCallbacks.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/IStatusCallbacks.aidl
new file mode 100644
index 00000000..75860b81
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/IStatusCallbacks.aidl
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import de.blinkt.openvpn.core.LogItem;
+import de.blinkt.openvpn.core.ConnectionStatus;
+
+
+
+interface IStatusCallbacks {
+ /**
+ * Called when the service has a new status for you.
+ */
+ oneway void newLogItem(in LogItem item);
+
+ oneway void updateStateString(in String state, in String msg, in int resid, in ConnectionStatus level);
+
+ oneway void updateByteCount(long inBytes, long outBytes);
+
+ oneway void connectedVPN(String uuid);
+}
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/LogItem.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/LogItem.aidl
new file mode 100644
index 00000000..9a7291af
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/LogItem.aidl
@@ -0,0 +1,3 @@
+package de.blinkt.openvpn.core;
+
+parcelable LogItem; \ No newline at end of file
diff --git a/main/src/main/aidl/de/blinkt/openvpn/core/TrafficHistory.aidl b/main/src/main/aidl/de/blinkt/openvpn/core/TrafficHistory.aidl
new file mode 100644
index 00000000..5bd255fc
--- /dev/null
+++ b/main/src/main/aidl/de/blinkt/openvpn/core/TrafficHistory.aidl
@@ -0,0 +1,4 @@
+package de.blinkt.openvpn.core;
+
+
+parcelable TrafficHistory;
diff --git a/main/src/main/java/android/support/v4n/view/ViewPager.java b/main/src/main/java/android/support/v4n/view/ViewPager.java
index b2b5238e..4e44bd99 100644
--- a/main/src/main/java/android/support/v4n/view/ViewPager.java
+++ b/main/src/main/java/android/support/v4n/view/ViewPager.java
@@ -16,6 +16,7 @@
package android.support.v4n.view;
+import android.annotation.TargetApi;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
@@ -1246,6 +1247,7 @@ public class ViewPager extends ViewGroup {
public static final Parcelable.Creator<SavedState> CREATOR
= ParcelableCompat.newCreator(new ParcelableCompatCreatorCallbacks<SavedState>() {
+ @TargetApi(24)
@Override
public SavedState createFromParcel(Parcel in, ClassLoader loader) {
return new SavedState(in, loader);
diff --git a/main/src/main/java/de/blinkt/openvpn/LaunchVPN.java b/main/src/main/java/de/blinkt/openvpn/LaunchVPN.java
index 67d577cc..892bed41 100644
--- a/main/src/main/java/de/blinkt/openvpn/LaunchVPN.java
+++ b/main/src/main/java/de/blinkt/openvpn/LaunchVPN.java
@@ -5,15 +5,25 @@
package de.blinkt.openvpn;
+import se.leap.bitmaskclient.R;
+
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
+import android.content.ComponentName;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
+import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.net.VpnService;
+import android.os.Build;
import android.os.Bundle;
+import android.os.IBinder;
+import android.os.RemoteException;
import android.preference.PreferenceManager;
import android.text.InputType;
import android.text.TextUtils;
@@ -26,10 +36,14 @@ import android.widget.EditText;
import java.io.IOException;
import de.blinkt.openvpn.activities.LogWindow;
+import de.blinkt.openvpn.core.ConnectionStatus;
+import de.blinkt.openvpn.core.IServiceStatus;
+import de.blinkt.openvpn.core.OpenVPNStatusService;
+import de.blinkt.openvpn.core.PasswordCache;
+import de.blinkt.openvpn.core.Preferences;
import de.blinkt.openvpn.core.ProfileManager;
import de.blinkt.openvpn.core.VPNLaunchHelper;
import de.blinkt.openvpn.core.VpnStatus;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
/**
* This Activity actually handles two stages of a launcher shortcut's life cycle.
@@ -62,6 +76,7 @@ public class LaunchVPN extends Activity {
public static final String EXTRA_NAME = "de.blinkt.openvpn.shortcutProfileName";
public static final String EXTRA_HIDELOG = "de.blinkt.openvpn.showNoLogWindow";
public static final String CLEARLOG = "clearlogconnect";
+ public static final String EXTRA_TEMP_VPN_PROFILE = "se.leap.bitmask.tempVpnProfile";
private static final int START_VPN_PROFILE = 70;
@@ -71,6 +86,8 @@ public class LaunchVPN extends Activity {
private boolean mhideLog = false;
private boolean mCmfixed = false;
+ private String mTransientAuthPW;
+ private String mTransientCertOrPCKS12PW;
@Override
public void onCreate(Bundle icicle) {
@@ -90,15 +107,17 @@ public class LaunchVPN extends Activity {
if (Intent.ACTION_MAIN.equals(action)) {
// Check if we need to clear the log
- if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(CLEARLOG, true))
+ if (Preferences.getDefaultSharedPreferences(this).getBoolean(CLEARLOG, true))
VpnStatus.clearLog();
// we got called to be the starting point, most likely a shortcut
String shortcutUUID = intent.getStringExtra(EXTRA_KEY);
String shortcutName = intent.getStringExtra(EXTRA_NAME);
mhideLog = intent.getBooleanExtra(EXTRA_HIDELOG, false);
+ VpnProfile profileToConnect = (VpnProfile) intent.getExtras().getSerializable(EXTRA_TEMP_VPN_PROFILE);
+ if (profileToConnect == null)
+ profileToConnect = ProfileManager.get(this, shortcutUUID);
- VpnProfile profileToConnect = ProfileManager.get(this, shortcutUUID);
if (shortcutName != null && profileToConnect == null)
profileToConnect = ProfileManager.getInstance(this).getProfileByName(shortcutName);
@@ -116,24 +135,29 @@ public class LaunchVPN extends Activity {
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
+ super.onActivityResult(requestCode, resultCode, data);
+
+ if(requestCode==START_VPN_PROFILE) {
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(this);
+ boolean showLogWindow = prefs.getBoolean("showlogwindow", true);
- if(requestCode==START_VPN_PROFILE) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
- boolean showLogWindow = prefs.getBoolean("showlogwindow", true);
+ if(!mhideLog && showLogWindow)
+ showLogWindow();
+ //TODO: check line below!
+ ProfileManager.updateLRU(this, mSelectedProfile);
+ VPNLaunchHelper.startOpenVpn(mSelectedProfile, getBaseContext());
+ finish();
- if(!mhideLog && showLogWindow)
- showLogWindow();
+ } else if (resultCode == Activity.RESULT_CANCELED) {
+ // User does not want us to start, so we just vanish
+ VpnStatus.updateStateString("USER_VPN_PERMISSION_CANCELLED", "", R.string.state_user_vpn_permission_cancelled,
+ ConnectionStatus.LEVEL_NOTCONNECTED);
- VPNLaunchHelper.startOpenVpn(mSelectedProfile, getBaseContext());
- finish();
- } else if (resultCode == Activity.RESULT_CANCELED) {
- // User does not want us to start, so we just vanish
- VpnStatus.updateStateString("USER_VPN_PERMISSION_CANCELLED", "", R.string.state_user_vpn_permission_cancelled,
- ConnectionStatus.LEVEL_NOTCONNECTED);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
+ VpnStatus.logError(R.string.nought_alwayson_warning);
- finish();
- }
+ finish();
+ }
}
void showLogWindow() {
@@ -156,9 +180,27 @@ public class LaunchVPN extends Activity {
}
});
+ d.setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ finish();
+ }
+ });
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1)
+ setOnDismissListener(d);
d.show();
}
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ private void setOnDismissListener(AlertDialog.Builder d) {
+ d.setOnDismissListener(new DialogInterface.OnDismissListener() {
+ @Override
+ public void onDismiss(DialogInterface dialog) {
+ finish();
+ }
+ });
+ }
+
void launchVPN() {
int vpnok = mSelectedProfile.checkProfile(this);
if (vpnok != R.string.no_error_found) {
@@ -168,7 +210,7 @@ public class LaunchVPN extends Activity {
Intent intent = VpnService.prepare(this);
// Check if we want to fix /dev/tun
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(this);
boolean usecm9fix = prefs.getBoolean("useCM9Fix", false);
boolean loadTunModule = prefs.getBoolean("loadTunModule", false);
diff --git a/main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java b/main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
index fbd693b9..89b5e8d2 100644
--- a/main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
+++ b/main/src/main/java/de/blinkt/openvpn/OnBootReceiver.java
@@ -8,6 +8,9 @@ package de.blinkt.openvpn;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
+
+import de.blinkt.openvpn.core.Preferences;
import de.blinkt.openvpn.core.ProfileManager;
@@ -18,9 +21,14 @@ public class OnBootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(context);
+
+ boolean useStartOnBoot = prefs.getBoolean("restartvpnonboot", false);
+ if (!useStartOnBoot)
+ return;
if(Intent.ACTION_BOOT_COMPLETED.equals(action) || Intent.ACTION_MY_PACKAGE_REPLACED.equals(action)) {
- VpnProfile bootProfile = ProfileManager.getLastConnectedProfile(context, true);
+ VpnProfile bootProfile = ProfileManager.getAlwaysOnVPN(context);
if(bootProfile != null) {
launchVPN(bootProfile, context);
}
diff --git a/main/src/main/java/de/blinkt/openvpn/OpenVPNTileService.java b/main/src/main/java/de/blinkt/openvpn/OpenVPNTileService.java
new file mode 100644
index 00000000..ce14cc98
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/OpenVPNTileService.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn;
+
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.Build;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.service.quicksettings.Tile;
+import android.service.quicksettings.TileService;
+import android.widget.Toast;
+
+import de.blinkt.openvpn.core.ConnectionStatus;
+import de.blinkt.openvpn.core.IOpenVPNServiceInternal;
+import de.blinkt.openvpn.core.OpenVPNService;
+import de.blinkt.openvpn.core.ProfileManager;
+import de.blinkt.openvpn.core.VpnStatus;
+
+
+/**
+ * Created by arne on 22.04.16.
+ */
+@TargetApi(Build.VERSION_CODES.N)
+public class OpenVPNTileService extends TileService implements VpnStatus.StateListener {
+
+ @SuppressLint("Override")
+ @TargetApi(Build.VERSION_CODES.N)
+ @Override
+ public void onClick() {
+ super.onClick();
+ final VpnProfile bootProfile = getQSVPN();
+ if (bootProfile == null) {
+ Toast.makeText(this, R.string.novpn_selected, Toast.LENGTH_SHORT).show();
+ } else {
+ if (!isLocked())
+ clickAction(bootProfile);
+ else
+ unlockAndRun(new Runnable() {
+ @Override
+ public void run() {
+ clickAction(bootProfile);
+ }
+ });
+ }
+ }
+
+ private void clickAction(VpnProfile bootProfile) {
+ if (VpnStatus.isVPNActive()) {
+ Intent intent = new Intent(this, OpenVPNService.class);
+ intent.setAction(OpenVPNService.START_SERVICE);
+ bindService(intent, new ServiceConnection() {
+ @Override
+ public void onServiceConnected(ComponentName componentName, IBinder binder) {
+ IOpenVPNServiceInternal service = IOpenVPNServiceInternal.Stub.asInterface(binder);
+
+ if (service != null)
+ try {
+ service.stopVPN(false);
+ } catch (RemoteException e) {
+ VpnStatus.logException(e);
+ }
+
+ unbindService(this);
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName componentName) {
+
+ }
+ }, Context.BIND_AUTO_CREATE);
+ } else
+ launchVPN(bootProfile, this);
+ }
+
+
+ @SuppressLint("Override")
+ @TargetApi(Build.VERSION_CODES.N)
+ void launchVPN(VpnProfile profile, Context context) {
+ Intent startVpnIntent = new Intent(Intent.ACTION_MAIN);
+ startVpnIntent.setClass(context, LaunchVPN.class);
+ startVpnIntent.putExtra(LaunchVPN.EXTRA_KEY, profile.getUUIDString());
+ startVpnIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ startVpnIntent.putExtra(LaunchVPN.EXTRA_HIDELOG, true);
+
+ context.startActivity(startVpnIntent);
+ }
+
+ @TargetApi(Build.VERSION_CODES.N)
+ @Override
+ public void onTileAdded() {
+ }
+
+ @Override
+ public void onStartListening() {
+ super.onStartListening();
+ VpnStatus.addStateListener(this);
+ }
+
+
+ @TargetApi(Build.VERSION_CODES.N)
+ public VpnProfile getQSVPN() {
+ return ProfileManager.getAlwaysOnVPN(this);
+ }
+
+ @Override
+ public void updateState(String state, String logmessage, int localizedResId, ConnectionStatus level) {
+ VpnProfile vpn;
+ Tile t = getQsTile();
+ if (level == ConnectionStatus.LEVEL_AUTH_FAILED || level == ConnectionStatus.LEVEL_NOTCONNECTED) {
+ // No VPN connected, use stadnard VPN
+ vpn = getQSVPN();
+ if (vpn == null) {
+ t.setLabel(getString(R.string.novpn_selected));
+ t.setState(Tile.STATE_UNAVAILABLE);
+ } else {
+ t.setLabel(getString(R.string.qs_connect, vpn.getName()));
+ t.setState(Tile.STATE_INACTIVE);
+ }
+ } else {
+ vpn = ProfileManager.get(getBaseContext(), VpnStatus.getLastConnectedVPNProfile());
+ String name;
+ if (vpn == null)
+ name = "null?!";
+ else
+ name = vpn.getName();
+ t.setLabel(getString(R.string.qs_disconnect, name));
+ t.setState(Tile.STATE_ACTIVE);
+ }
+
+ t.updateTile();
+ }
+
+ @Override
+ public void setConnectedVPN(String uuid) {
+
+ }
+
+ @Override
+ public void onStopListening() {
+ VpnStatus.removeStateListener(this);
+ super.onStopListening();
+ }
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
index 11656ee3..7af7b519 100644
--- a/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
+++ b/main/src/main/java/de/blinkt/openvpn/VpnProfile.java
@@ -9,7 +9,6 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
@@ -52,6 +51,7 @@ import javax.crypto.NoSuchPaddingException;
import de.blinkt.openvpn.core.Connection;
import de.blinkt.openvpn.core.NativeUtils;
import de.blinkt.openvpn.core.OpenVPNService;
+import de.blinkt.openvpn.core.PasswordCache;
import de.blinkt.openvpn.core.VPNLaunchHelper;
import de.blinkt.openvpn.core.VpnStatus;
import de.blinkt.openvpn.core.X509Utils;
@@ -71,14 +71,10 @@ public class VpnProfile implements Serializable, Cloneable {
private static final long serialVersionUID = 7085688938959334563L;
public static final int MAXLOGLEVEL = 4;
public static final int CURRENT_PROFILE_VERSION = 6;
- public static final int DEFAULT_MSSFIX_SIZE = 1450;
+ public static final int DEFAULT_MSSFIX_SIZE = 1280;
public static String DEFAULT_DNS1 = "8.8.8.8";
public static String DEFAULT_DNS2 = "8.8.4.4";
- public transient String mTransientPW = null;
- public transient String mTransientPCKS12PW = null;
-
-
public static final int TYPE_CERTIFICATES = 0;
public static final int TYPE_PKCS12 = 1;
public static final int TYPE_KEYSTORE = 2;
@@ -92,6 +88,12 @@ public class VpnProfile implements Serializable, Cloneable {
public static final int X509_VERIFY_TLSREMOTE_DN = 2;
public static final int X509_VERIFY_TLSREMOTE_RDN = 3;
public static final int X509_VERIFY_TLSREMOTE_RDN_PREFIX = 4;
+
+
+ public static final int AUTH_RETRY_NONE_FORGET = 0;
+ private static final int AUTH_RETRY_NONE_KEEP = 1;
+ public static final int AUTH_RETRY_NOINTERACT = 2;
+ private static final int AUTH_RETRY_INTERACT = 3;
// variable named wrong and should haven beeen transient
// but needs to keep wrong name to guarante loading of old
// profiles
@@ -135,11 +137,14 @@ public class VpnProfile implements Serializable, Cloneable {
public String mCustomRoutesv6 = "";
public String mKeyPassword = "";
public boolean mPersistTun = false;
- public String mConnectRetryMax = "5";
- public String mConnectRetry = "5";
+ public String mConnectRetryMax = "-1";
+ public String mConnectRetry = "2";
+ public String mConnectRetryMaxTime = "300";
public boolean mUserEditable = true;
public String mAuth = "";
public int mX509AuthType = X509_VERIFY_TLSREMOTE_RDN;
+ public String mx509UsernameField = null;
+
private transient PrivateKey mPrivateKey;
// Public attributes, since I got mad with getter/setter
// set members to default values
@@ -157,15 +162,25 @@ public class VpnProfile implements Serializable, Cloneable {
public String mCrlFilename;
public String mProfileCreator;
+ public int mAuthRetry = AUTH_RETRY_NONE_FORGET;
+ public int mTunMtu;
+
public boolean mPushPeerInfo = false;
public static final boolean mIsOpenVPN22 = false;
+ public int mVersion = 0;
+
+ // timestamp when the profile was last used
+ public long mLastUsed;
+
/* Options no longer used in new profiles */
- public String mServerName = "openvpn.blinkt.de";
+ public String mServerName = "openvpn.example.com";
public String mServerPort = "1194";
public boolean mUseUdp = true;
+
+
public VpnProfile(String name) {
mUuid = UUID.randomUUID();
mName = name;
@@ -173,6 +188,7 @@ public class VpnProfile implements Serializable, Cloneable {
mConnections = new Connection[1];
mConnections[0] = new Connection();
+ mLastUsed = System.currentTimeMillis();
}
public static String openVpnEscape(String unescaped) {
@@ -190,6 +206,17 @@ public class VpnProfile implements Serializable, Cloneable {
return '"' + escapedString + '"';
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof VpnProfile) {
+ VpnProfile vpnProfile = (VpnProfile) obj;
+ return mUuid.equals(vpnProfile.mUuid);
+ } else {
+ return false;
+ }
+ }
+
public void clearDefaults() {
mServerName = "unknown";
mUsePull = false;
@@ -210,7 +237,7 @@ public class VpnProfile implements Serializable, Cloneable {
}
public String getName() {
- if (mName == null)
+ if (TextUtils.isEmpty(mName))
return "No profile name";
return mName;
}
@@ -272,12 +299,13 @@ public class VpnProfile implements Serializable, Cloneable {
if (!configForOvpn3) {
cfg += String.format("setenv IV_GUI_VER %s \n", openVpnEscape(getVersionEnvString(context)));
- String versionString = String.format("%d %s %s %s %s %s", Build.VERSION.SDK_INT, Build.VERSION.RELEASE,
+ String versionString = String.format(Locale.US, "%d %s %s %s %s %s", Build.VERSION.SDK_INT, Build.VERSION.RELEASE,
NativeUtils.getNativeAPI(), Build.BRAND, Build.BOARD, Build.MODEL);
cfg += String.format("setenv IV_PLAT_VER %s\n", openVpnEscape(versionString));
}
cfg += "machine-readable-output\n";
+ cfg += "allow-recursive-routing\n";
// Users are confused by warnings that are misleading...
cfg += "ifconfig-nowarn\n";
@@ -297,19 +325,25 @@ public class VpnProfile implements Serializable, Cloneable {
cfg += "verb " + MAXLOGLEVEL + "\n";
if (mConnectRetryMax == null) {
- mConnectRetryMax = "5";
+ mConnectRetryMax = "-1";
}
if (!mConnectRetryMax.equals("-1"))
cfg += "connect-retry-max " + mConnectRetryMax + "\n";
- if (mConnectRetry == null)
- mConnectRetry = "5";
+ if (TextUtils.isEmpty(mConnectRetry))
+ mConnectRetry = "2";
+
+ if (TextUtils.isEmpty(mConnectRetryMaxTime))
+ mConnectRetryMaxTime = "300";
- if (!mIsOpenVPN22 || !mUseUdp)
+ if (!mIsOpenVPN22)
+ cfg += "connect-retry " + mConnectRetry + " " + mConnectRetryMaxTime + "\n";
+ else if (mIsOpenVPN22 && mUseUdp)
cfg += "connect-retry " + mConnectRetry + "\n";
+
cfg += "resolv-retry 60\n";
@@ -382,6 +416,12 @@ public class VpnProfile implements Serializable, Cloneable {
cfg += insertFileData("ca", mCaFilename);
}
+ if (isUserPWAuth())
+ {
+ if (mAuthenticationType == AUTH_RETRY_NOINTERACT)
+ cfg += "auth-retry nointeract";
+ }
+
if (!TextUtils.isEmpty(mCrlFilename))
cfg += insertFileData("crl-verify", mCrlFilename);
@@ -390,12 +430,16 @@ public class VpnProfile implements Serializable, Cloneable {
}
if (mUseTLSAuth) {
+ boolean useTlsCrypt = mTLSAuthDirection.equals("tls-crypt");
+
if (mAuthenticationType == TYPE_STATICKEYS)
cfg += insertFileData("secret", mTLSAuthFilename);
+ else if (useTlsCrypt)
+ cfg += insertFileData("tls-crypt", mTLSAuthFilename);
else
cfg += insertFileData("tls-auth", mTLSAuthFilename);
- if (!TextUtils.isEmpty(mTLSAuthDirection)) {
+ if (!TextUtils.isEmpty(mTLSAuthDirection) && !useTlsCrypt) {
cfg += "key-direction ";
cfg += mTLSAuthDirection;
cfg += "\n";
@@ -407,8 +451,12 @@ public class VpnProfile implements Serializable, Cloneable {
if (!TextUtils.isEmpty(mIPv4Address))
cfg += "ifconfig " + cidrToIPAndNetmask(mIPv4Address) + "\n";
- if (!TextUtils.isEmpty(mIPv6Address))
- cfg += "ifconfig-ipv6 " + mIPv6Address + "\n";
+ if (!TextUtils.isEmpty(mIPv6Address)) {
+ // Use our own ip as gateway since we ignore it anyway
+ String fakegw = mIPv6Address.split("/", 2)[0];
+ cfg += "ifconfig-ipv6 " + mIPv6Address + " " + fakegw +"\n";
+ }
+
}
if (mUsePull && mRoutenopull)
@@ -439,22 +487,33 @@ public class VpnProfile implements Serializable, Cloneable {
cfg += routes;
if (mOverrideDNS || !mUsePull) {
- if (!TextUtils.isEmpty(mDNS1))
- cfg += "dhcp-option DNS " + mDNS1 + "\n";
- if (!TextUtils.isEmpty(mDNS2))
- cfg += "dhcp-option DNS " + mDNS2 + "\n";
- if (!TextUtils.isEmpty(mSearchDomain))
+ if (!TextUtils.isEmpty(mDNS1)) {
+ if (mDNS1.contains(":"))
+ cfg += "dhcp-option DNS6 " + mDNS1 + "\n";
+ else
+ cfg += "dhcp-option DNS " + mDNS1 + "\n";
+ } if (!TextUtils.isEmpty(mDNS2)) {
+ if (mDNS2.contains(":"))
+ cfg += "dhcp-option DNS6 " + mDNS2 + "\n";
+ else
+ cfg += "dhcp-option DNS " + mDNS2 + "\n";
+ } if (!TextUtils.isEmpty(mSearchDomain))
cfg += "dhcp-option DOMAIN " + mSearchDomain + "\n";
}
if (mMssFix != 0) {
if (mMssFix != 1450) {
- cfg += String.format("mssfix %d\n", mMssFix, Locale.US);
+ cfg += String.format(Locale.US, "mssfix %d\n", mMssFix);
} else
cfg += "mssfix\n";
}
+ if (mTunMtu >= 48 && mTunMtu != 1500)
+ {
+ cfg+= String.format(Locale.US, "tun-mtu %d\n", mTunMtu);
+ }
+
if (mNobind)
cfg += "nobind\n";
@@ -463,7 +522,7 @@ public class VpnProfile implements Serializable, Cloneable {
if (mAuthenticationType != TYPE_STATICKEYS) {
if (mCheckRemoteCN) {
if (mRemoteCN == null || mRemoteCN.equals(""))
- cfg += "verify-x509-name " + mConnections[0].mServerName + " name\n";
+ cfg += "verify-x509-name " + openVpnEscape(mConnections[0].mServerName) + " name\n";
else
switch (mX509AuthType) {
@@ -486,6 +545,8 @@ public class VpnProfile implements Serializable, Cloneable {
cfg += "verify-x509-name " + openVpnEscape(mRemoteCN) + "\n";
break;
}
+ if (!TextUtils.isEmpty(mx509UsernameField))
+ cfg += "x509-username-field " + openVpnEscape(mx509UsernameField) + "\n";
}
if (mExpectTLSCert)
cfg += "remote-cert-tls server\n";
@@ -657,7 +718,7 @@ public class VpnProfile implements Serializable, Cloneable {
Intent intent = new Intent(context, OpenVPNService.class);
intent.putExtra(prefix + ".profileUUID", mUuid.toString());
-
+ intent.putExtra(prefix + ".profileVersion", mVersion);
return intent;
}
@@ -728,6 +789,10 @@ public class VpnProfile implements Serializable, Cloneable {
}
}
+ public void pwDidFail(Context c) {
+
+ }
+
class NoCertReturnedException extends Exception {
public NoCertReturnedException(String msg) {
@@ -736,6 +801,10 @@ public class VpnProfile implements Serializable, Cloneable {
}
synchronized String[] getKeyStoreCertificates(Context context, int tries) {
+ // Force application context- KeyChain methods will block long enough that by the time they
+ // are finished and try to unbind, the original activity context might have been destroyed.
+ context = context.getApplicationContext();
+
try {
PrivateKey privateKey = KeyChain.getPrivateKey(context, mAlias);
mPrivateKey = privateKey;
@@ -836,8 +905,14 @@ public class VpnProfile implements Serializable, Cloneable {
if (mAuthenticationType == TYPE_KEYSTORE || mAuthenticationType == TYPE_USERPASS_KEYSTORE) {
if (mAlias == null)
return R.string.no_keystore_cert_selected;
+ } else if (mAuthenticationType == TYPE_CERTIFICATES || mAuthenticationType == TYPE_USERPASS_CERTIFICATES){
+ if (TextUtils.isEmpty(mCaFilename))
+ return R.string.no_ca_cert_selected;
}
+ if (mCheckRemoteCN && mX509AuthType==X509_VERIFY_TLSREMOTE)
+ return R.string.deprecated_tls_remote;
+
if (!mUsePull || mAuthenticationType == TYPE_STATICKEYS) {
if (mIPv4Address == null || cidrToIPAndNetmask(mIPv4Address) == null)
return R.string.ipv4_format_error;
@@ -879,10 +954,9 @@ public class VpnProfile implements Serializable, Cloneable {
//! Openvpn asks for a "Private Key", this should be pkcs12 key
//
public String getPasswordPrivateKey() {
- if (mTransientPCKS12PW != null) {
- String pwcopy = mTransientPCKS12PW;
- mTransientPCKS12PW = null;
- return pwcopy;
+ String cachedPw = PasswordCache.getPKCS12orCertificatePassword(mUuid, true);
+ if (cachedPw != null) {
+ return cachedPw;
}
switch (mAuthenticationType) {
case TYPE_PKCS12:
@@ -947,33 +1021,32 @@ public class VpnProfile implements Serializable, Cloneable {
return false;
}
- public int needUserPWInput(boolean ignoreTransient) {
+ public int needUserPWInput(String transientCertOrPkcs12PW, String mTransientAuthPW) {
if ((mAuthenticationType == TYPE_PKCS12 || mAuthenticationType == TYPE_USERPASS_PKCS12) &&
(mPKCS12Password == null || mPKCS12Password.equals(""))) {
- if (ignoreTransient || mTransientPCKS12PW == null)
+ if (transientCertOrPkcs12PW == null)
return R.string.pkcs12_file_encryption_key;
}
if (mAuthenticationType == TYPE_CERTIFICATES || mAuthenticationType == TYPE_USERPASS_CERTIFICATES) {
if (requireTLSKeyPassword() && TextUtils.isEmpty(mKeyPassword))
- if (ignoreTransient || mTransientPCKS12PW == null) {
+ if (transientCertOrPkcs12PW == null) {
return R.string.private_key_password;
}
}
if (isUserPWAuth() &&
(TextUtils.isEmpty(mUsername) ||
- (TextUtils.isEmpty(mPassword) && (mTransientPW == null || ignoreTransient)))) {
+ (TextUtils.isEmpty(mPassword) && mTransientAuthPW == null))) {
return R.string.password;
}
return 0;
}
public String getPasswordAuth() {
- if (mTransientPW != null) {
- String pwcopy = mTransientPW;
- mTransientPW = null;
- return pwcopy;
+ String cachedPw = PasswordCache.getAuthPassword(mUuid, true);
+ if (cachedPw != null) {
+ return cachedPw;
} else {
return mPassword;
}
@@ -1006,7 +1079,6 @@ public class VpnProfile implements Serializable, Cloneable {
try {
-
/* ECB is perfectly fine in this special case, since we are using it for
the public/private part in the TLS exchange
*/
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java b/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
index cb3a43cf..e3eed074 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/ConfigConverter.java
@@ -16,10 +16,10 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
-import android.os.NetworkOnMainThreadException;
import android.provider.OpenableColumns;
import android.security.KeyChain;
import android.security.KeyChainAliasCallback;
@@ -36,6 +36,7 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
@@ -47,6 +48,8 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -84,6 +87,9 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
private Vector<String> mLogEntries = new Vector<>();
private Uri mSourceUri;
private EditText mProfilename;
+ private AsyncTask<Void, Void, Integer> mImportTask;
+ private LinearLayout mLogLayout;
+ private TextView mProfilenameLabel;
@Override
public void onClick(View v) {
@@ -102,7 +108,7 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
// Permission declined, do nothing
- if (grantResults[0] == PackageManager.PERMISSION_DENIED)
+ if (grantResults.length == 0 || grantResults[0] == PackageManager.PERMISSION_DENIED)
return;
// Reset file select dialogs
@@ -147,7 +153,7 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
mResult.mName = mProfilename.getText().toString();
ProfileManager vpl = ProfileManager.getInstance(this);
- if (vpl.getProfileByName(mResult.mName)!=null) {
+ if (vpl.getProfileByName(mResult.mName) != null) {
mProfilename.setError(getString(R.string.duplicate_profile_name));
return true;
}
@@ -421,12 +427,19 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
if (foundfile == null && filename != null && !filename.equals("")) {
log(R.string.import_could_not_open, filename);
}
-
- addFileSelectDialog(fileType);
+ fileSelectMap.put(fileType, null);
return foundfile;
}
+ private void addMissingFileDialogs()
+ {
+ for (Map.Entry<Utils.FileType, FileSelectLayout> item: fileSelectMap.entrySet()) {
+ if (item.getValue()==null)
+ addFileSelectDialog(item.getKey());
+ }
+ }
+
private void addFileSelectDialog(Utils.FileType type) {
Pair<Integer, String> fileDialogInfo = getFileDialogInfo(type);
@@ -481,9 +494,16 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
if (path.indexOf(':') != -1 && path.lastIndexOf('/') > path.indexOf(':')) {
String possibleDir = path.substring(path.indexOf(':') + 1, path.length());
+ // Unquote chars in the path
+ try {
+ possibleDir = URLDecoder.decode(possibleDir, "UTF-8");
+ } catch (UnsupportedEncodingException ignored) {}
+
possibleDir = possibleDir.substring(0, possibleDir.lastIndexOf('/'));
+
+
dirlist.add(new File(sdcard, possibleDir));
}
@@ -582,7 +602,6 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
mEmbeddedPwFile = embedFile(cp.getAuthUserPassFile(), Utils.FileType.USERPW_FILE, false);
}
- updateFileSelectDialogs();
}
private void updateFileSelectDialogs() {
@@ -603,7 +622,11 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
findViewById(R.id.fab_footerspace).setVisibility(View.VISIBLE);
}
+ mLogLayout = (LinearLayout) findViewById(R.id.config_convert_root);
+
+
mProfilename = (EditText) findViewById(R.id.profilename);
+ mProfilenameLabel = (TextView) findViewById(R.id.profilename_label);
if (savedInstanceState != null && savedInstanceState.containsKey(VPNPROFILE)) {
mResult = (VpnProfile) savedInstanceState.getSerializable(VPNPROFILE);
@@ -650,60 +673,102 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
private void doImportUri(Uri data) {
//log(R.string.import_experimental);
log(R.string.importing_config, data.toString());
- try {
- String possibleName = null;
- if ((data.getScheme() != null && data.getScheme().equals("file")) ||
- (data.getLastPathSegment() != null &&
- (data.getLastPathSegment().endsWith(".ovpn") ||
- data.getLastPathSegment().endsWith(".conf")))
- ) {
- possibleName = data.getLastPathSegment();
- if (possibleName.lastIndexOf('/') != -1)
- possibleName = possibleName.substring(possibleName.lastIndexOf('/') + 1);
+ String possibleName = null;
+ if ((data.getScheme() != null && data.getScheme().equals("file")) ||
+ (data.getLastPathSegment() != null &&
+ (data.getLastPathSegment().endsWith(".ovpn") ||
+ data.getLastPathSegment().endsWith(".conf")))
+ ) {
+ possibleName = data.getLastPathSegment();
+ if (possibleName.lastIndexOf('/') != -1)
+ possibleName = possibleName.substring(possibleName.lastIndexOf('/') + 1);
- }
+ }
- mPathsegments = data.getPathSegments();
+ mPathsegments = data.getPathSegments();
- Cursor cursor = getContentResolver().query(data, null, null, null, null);
+ Cursor cursor = getContentResolver().query(data, null, null, null, null);
- try {
+ try {
- if (cursor != null && cursor.moveToFirst()) {
- int columnIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
+ if (cursor != null && cursor.moveToFirst()) {
+ int columnIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
- if (columnIndex != -1) {
- String displayName = cursor.getString(columnIndex);
- if (displayName != null)
- possibleName = displayName;
- }
- columnIndex = cursor.getColumnIndex("mime_type");
- if (columnIndex != -1) {
- log("Opening Mime TYPE: " + cursor.getString(columnIndex));
- }
+ if (columnIndex != -1) {
+ String displayName = cursor.getString(columnIndex);
+ if (displayName != null)
+ possibleName = displayName;
+ }
+ columnIndex = cursor.getColumnIndex("mime_type");
+ if (columnIndex != -1) {
+ log("Mime type: " + cursor.getString(columnIndex));
}
- } finally {
- if (cursor != null)
- cursor.close();
}
- if (possibleName != null) {
- possibleName = possibleName.replace(".ovpn", "");
- possibleName = possibleName.replace(".conf", "");
+ } finally {
+ if (cursor != null)
+ cursor.close();
+ }
+ if (possibleName != null) {
+ possibleName = possibleName.replace(".ovpn", "");
+ possibleName = possibleName.replace(".conf", "");
+ }
+
+ startImportTask(data, possibleName);
+
+
+ }
+
+ private void startImportTask(final Uri data, final String possibleName) {
+ mImportTask = new AsyncTask<Void, Void, Integer>() {
+ private ProgressBar mProgress;
+
+ @Override
+ protected void onPreExecute() {
+ mProgress = new ProgressBar(ConfigConverter.this);
+ addViewToLog(mProgress);
}
- try {
- InputStream is = getContentResolver().openInputStream(data);
- doImport(is, possibleName);
- } catch (NetworkOnMainThreadException nom) {
- throw new RuntimeException("Network on Main: + " + data);
+
+ @Override
+ protected Integer doInBackground(Void... params) {
+ try {
+ InputStream is = getContentResolver().openInputStream(data);
+
+ doImport(is);
+ if (mResult==null)
+ return -3;
+ } catch (FileNotFoundException |
+ SecurityException se)
+
+ {
+ log(R.string.import_content_resolve_error + ":" + se.getLocalizedMessage());
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
+ checkMarschmallowFileImportError(data);
+ return -2;
+ }
+
+ return 0;
}
- } catch (FileNotFoundException | SecurityException se) {
- log(R.string.import_content_resolve_error + ":" + se.getLocalizedMessage());
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
- checkMarschmallowFileImportError(data);
- }
+ @Override
+ protected void onPostExecute(Integer errorCode) {
+ mLogLayout.removeView(mProgress);
+ addMissingFileDialogs();
+ updateFileSelectDialogs();
+
+ if (errorCode == 0) {
+ displayWarnings();
+ mResult.mName = getUniqueProfileName(possibleName);
+ mProfilename.setVisibility(View.VISIBLE);
+ mProfilenameLabel.setVisibility(View.VISIBLE);
+ mProfilename.setText(mResult.getName());
+
+ log(R.string.import_done);
+ }
+ }
+ }.execute();
}
+
@TargetApi(Build.VERSION_CODES.M)
private void checkMarschmallowFileImportError(Uri data) {
// Permission already granted, not the source of the error
@@ -723,15 +788,24 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
super.onStart();
}
- private void log(String logmessage) {
- mLogEntries.add(logmessage);
- TextView tv = new TextView(this);
- tv.setText(logmessage);
- LinearLayout logLayout = (LinearLayout) findViewById(R.id.config_convert_root);
- logLayout.addView(tv, logLayout.getChildCount() - 1);
+ private void log(final String logmessage) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ TextView tv = new TextView(ConfigConverter.this);
+ mLogEntries.add(logmessage);
+ tv.setText(logmessage);
+
+ addViewToLog(tv);
+ }
+ });
+ }
+
+ private void addViewToLog(View view) {
+ mLogLayout.addView(view, mLogLayout.getChildCount() - 1);
}
- private void doImport(InputStream is, String newName) {
+ private void doImport(InputStream is) {
ConfigParser cp = new ConfigParser();
try {
InputStreamReader isr = new InputStreamReader(is);
@@ -739,11 +813,6 @@ public class ConfigConverter extends BaseActivity implements FileSelectCallback,
cp.parseConfig(isr);
mResult = cp.convertProfile();
embedFiles(cp);
- displayWarnings();
- mResult.mName = getUniqueProfileName(newName);
- mProfilename.setText(mResult.getName());
-
- log(R.string.import_done);
return;
} catch (IOException | ConfigParseError e) {
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java b/main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java
index e7af25c7..e1cb8862 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/CreateShortcuts.java
@@ -136,7 +136,7 @@ public class CreateShortcuts extends ListActivity implements OnItemClickListener
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, profile.getName());
Parcelable iconResource = Intent.ShortcutIconResource.fromContext(
- this, R.drawable.icon);
+ this, R.mipmap.ic_launcher);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
// Now, return the result to the launcher
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java b/main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java
index cc7e2266..01dacfcd 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java
@@ -7,33 +7,40 @@ package de.blinkt.openvpn.activities;
import android.app.Activity;
import android.app.AlertDialog;
-import android.content.*;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.ServiceConnection;
import android.os.IBinder;
+import android.os.RemoteException;
+import de.blinkt.openvpn.LaunchVPN;
import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.core.IOpenVPNServiceInternal;
import de.blinkt.openvpn.core.OpenVPNService;
import de.blinkt.openvpn.core.ProfileManager;
+import de.blinkt.openvpn.core.VpnStatus;
/**
* Created by arne on 13.10.13.
*/
public class DisconnectVPN extends Activity implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
- protected OpenVPNService mService;
-
+ private IOpenVPNServiceInternal mService;
private ServiceConnection mConnection = new ServiceConnection() {
+
@Override
public void onServiceConnected(ComponentName className,
IBinder service) {
- // We've bound to LocalService, cast the IBinder and get LocalService instance
- OpenVPNService.LocalBinder binder = (OpenVPNService.LocalBinder) service;
- mService = binder.getService();
+
+ mService = IOpenVPNServiceInternal.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
- mService =null;
+ mService = null;
}
};
@@ -53,24 +60,13 @@ public class DisconnectVPN extends Activity implements DialogInterface.OnClickLi
unbindService(mConnection);
}
- // if (getIntent() !=null && OpenVpnService.DISCONNECT_VPN.equals(getIntent().getAction()))
-
- // setIntent(null);
-
- /*
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- setIntent(intent);
- }
- */
-
private void showDisconnectDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.title_cancel);
builder.setMessage(R.string.cancel_connection_query);
- builder.setNegativeButton(android.R.string.no, this);
- builder.setPositiveButton(android.R.string.yes,this);
+ builder.setNegativeButton(android.R.string.cancel, this);
+ builder.setPositiveButton(R.string.cancel_connection, this);
+ builder.setNeutralButton(R.string.reconnect, this);
builder.setOnCancelListener(this);
builder.show();
@@ -80,8 +76,18 @@ public class DisconnectVPN extends Activity implements DialogInterface.OnClickLi
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
ProfileManager.setConntectedVpnProfileDisconnected(this);
- if (mService != null && mService.getManagement() != null)
- mService.getManagement().stopVPN(false);
+ if (mService != null) {
+ try {
+ mService.stopVPN(false);
+ } catch (RemoteException e) {
+ VpnStatus.logException(e);
+ }
+ }
+ } else if (which == DialogInterface.BUTTON_NEUTRAL) {
+ Intent intent = new Intent(this, LaunchVPN.class);
+ intent.putExtra(LaunchVPN.EXTRA_KEY, VpnStatus.getLastConnectedVPNProfile());
+ intent.setAction(Intent.ACTION_MAIN);
+ startActivity(intent);
}
finish();
}
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java b/main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java
index b0b94e66..44538cb4 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/FileSelect.java
@@ -109,8 +109,15 @@ public class FileSelect extends BaseActivity {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults[0] == PackageManager.PERMISSION_DENIED) {
- setResult(RESULT_CANCELED);
- finish();
+ if (mNoInline) {
+ setResult(RESULT_CANCELED);
+ finish();
+ } else {
+ if (fileExplorerTab!=null)
+ getActionBar().removeTab(fileExplorerTab);
+ }
+ } else {
+ mFSFragment.refresh();
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java b/main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java
index 8f1eca5b..5b06c833 100644
--- a/main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java
+++ b/main/src/main/java/de/blinkt/openvpn/activities/MainActivity.java
@@ -23,6 +23,7 @@ import de.blinkt.openvpn.R;
import de.blinkt.openvpn.fragments.AboutFragment;
import de.blinkt.openvpn.fragments.FaqFragment;
import de.blinkt.openvpn.fragments.GeneralSettings;
+import de.blinkt.openvpn.fragments.GraphFragment;
import de.blinkt.openvpn.fragments.LogFragment;
import de.blinkt.openvpn.fragments.SendDumpFragment;
import de.blinkt.openvpn.fragments.VPNProfileList;
@@ -36,9 +37,10 @@ public class MainActivity extends BaseActivity {
private ViewPager mPager;
private ScreenSlidePagerAdapter mPagerAdapter;
private SlidingTabLayout mSlidingTabLayout;
+ private TabBarView mTabs;
protected void onCreate(android.os.Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+ super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
@@ -53,40 +55,25 @@ public class MainActivity extends BaseActivity {
}
-
mPagerAdapter.addTab(R.string.vpn_list_title, VPNProfileList.class);
+ mPagerAdapter.addTab(R.string.graph, GraphFragment.class);
mPagerAdapter.addTab(R.string.generalsettings, GeneralSettings.class);
mPagerAdapter.addTab(R.string.faq, FaqFragment.class);
- if(SendDumpFragment.getLastestDump(this)!=null) {
+ if (SendDumpFragment.getLastestDump(this) != null) {
mPagerAdapter.addTab(R.string.crashdump, SendDumpFragment.class);
}
+
if (isDirectToTV())
mPagerAdapter.addTab(R.string.openvpn_log, LogFragment.class);
mPagerAdapter.addTab(R.string.about, AboutFragment.class);
mPager.setAdapter(mPagerAdapter);
- TabBarView tabs = (TabBarView) findViewById(R.id.sliding_tabs);
- tabs.setViewPager(mPager);
-
- // requestDozeDisable();
- }
-
- @TargetApi(Build.VERSION_CODES.M)
- private void requestDozeDisable() {
- Intent intent = new Intent();
- String packageName = getPackageName();
- PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
- if (pm.isIgnoringBatteryOptimizations(packageName))
- intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
- else {
- intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
- intent.setData(Uri.parse("package:" + packageName));
- }
- startActivity(intent);
+ mTabs = (TabBarView) findViewById(R.id.sliding_tabs);
+ mTabs.setViewPager(mPager);
}
private static final String FEATURE_TELEVISION = "android.hardware.type.television";
@@ -103,6 +90,17 @@ public class MainActivity extends BaseActivity {
toolbar.setElevation(0);
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+ if (getIntent()!=null) {
+ String page = getIntent().getStringExtra("PAGE");
+ if ("graph".equals(page)) {
+ mPager.setCurrentItem(1);
+ }
+ setIntent(null);
+ }
+ }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
diff --git a/main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java b/main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java
index bcab79ed..4124b7d4 100644
--- a/main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java
+++ b/main/src/main/java/de/blinkt/openvpn/api/ConfirmDialog.java
@@ -76,7 +76,6 @@ CompoundButton.OnCheckedChangeListener, DialogInterface.OnClickListener {
mAlert.setCanceledOnTouchOutside(false);
mAlert.setOnShowListener (new OnShowListener() {
-
@Override
public void onShow(DialogInterface dialog) {
mButton = mAlert.getButton(DialogInterface.BUTTON_POSITIVE);
diff --git a/main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java b/main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java
index 2f62026b..967d7728 100644
--- a/main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java
+++ b/main/src/main/java/de/blinkt/openvpn/api/ExternalAppDatabase.java
@@ -5,13 +5,14 @@
package de.blinkt.openvpn.api;
-import java.util.HashSet;
-import java.util.Set;
-
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
-import android.preference.PreferenceManager;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import de.blinkt.openvpn.core.Preferences;
public class ExternalAppDatabase {
@@ -21,7 +22,7 @@ public class ExternalAppDatabase {
mContext =c;
}
- private final String PREFERENCES_KEY = "PREFERENCES_KEY";
+ private final String PREFERENCES_KEY = "allowed_apps";
boolean isAllowed(String packagename) {
Set<String> allowedapps = getExtAppList();
@@ -31,7 +32,7 @@ public class ExternalAppDatabase {
}
public Set<String> getExtAppList() {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(mContext);
return prefs.getStringSet(PREFERENCES_KEY, new HashSet<String>());
}
@@ -43,9 +44,13 @@ public class ExternalAppDatabase {
}
private void saveExtAppList( Set<String> allowedapps) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(mContext);
Editor prefedit = prefs.edit();
+
+ // Workaround for bug
prefedit.putStringSet(PREFERENCES_KEY, allowedapps);
+ int counter = prefs.getInt("counter", 0);
+ prefedit.putInt("counter", counter + 1);
prefedit.apply();
}
diff --git a/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java b/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
index 00680d4f..6b549ed1 100644
--- a/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
+++ b/main/src/main/java/de/blinkt/openvpn/api/ExternalOpenVPNService.java
@@ -36,12 +36,12 @@ import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.core.ConfigParser;
import de.blinkt.openvpn.core.ConfigParser.ConfigParseError;
+import de.blinkt.openvpn.core.ConnectionStatus;
+import de.blinkt.openvpn.core.IOpenVPNServiceInternal;
import de.blinkt.openvpn.core.OpenVPNService;
-import de.blinkt.openvpn.core.OpenVPNService.LocalBinder;
import de.blinkt.openvpn.core.ProfileManager;
import de.blinkt.openvpn.core.VPNLaunchHelper;
import de.blinkt.openvpn.core.VpnStatus;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
import de.blinkt.openvpn.core.VpnStatus.StateListener;
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
@@ -52,7 +52,7 @@ public class ExternalOpenVPNService extends Service implements StateListener {
final RemoteCallbackList<IOpenVPNStatusCallback> mCallbacks =
new RemoteCallbackList<>();
- private OpenVPNService mService;
+ private IOpenVPNServiceInternal mService;
private ExternalAppDatabase mExtAppDb;
@@ -63,8 +63,7 @@ public class ExternalOpenVPNService extends Service implements StateListener {
public void onServiceConnected(ComponentName className,
IBinder service) {
// We've bound to LocalService, cast the IBinder and get LocalService instance
- LocalBinder binder = (LocalBinder) service;
- mService = binder.getService();
+ mService = (IOpenVPNServiceInternal) (service);
}
@Override
@@ -82,8 +81,12 @@ public class ExternalOpenVPNService extends Service implements StateListener {
VpnProfile vp = ProfileManager.getLastConnectedVpn();
if (ProfileManager.isTempProfile()) {
if(intent.getPackage().equals(vp.mProfileCreator)) {
- if (mService != null && mService.getManagement() != null)
- mService.getManagement().stopVPN(false);
+ if (mService != null)
+ try {
+ mService.stopVPN(false);
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }
}
}
}
@@ -150,7 +153,7 @@ public class ExternalOpenVPNService extends Service implements StateListener {
/* Check if we need to show the confirmation dialog,
* Check if we need to ask for username/password */
- int neddPassword = vp.needUserPWInput(false);
+ int neddPassword = vp.needUserPWInput(null, null);
if(vpnPermissionIntent != null || neddPassword != 0){
Intent shortVPNIntent = new Intent(Intent.ACTION_MAIN);
@@ -195,7 +198,7 @@ public class ExternalOpenVPNService extends Service implements StateListener {
throw new RemoteException("The inline file would require user input: " + getString(needpw));
*/
- ProfileManager.setTemporaryProfile(vp);
+ ProfileManager.setTemporaryProfile(ExternalOpenVPNService.this, vp);
startProfile(vp);
@@ -304,8 +307,8 @@ public class ExternalOpenVPNService extends Service implements StateListener {
@Override
public void disconnect() throws RemoteException {
checkOpenVPNPermission();
- if (mService != null && mService.getManagement() != null)
- mService.getManagement().stopVPN(false);
+ if (mService != null)
+ mService.stopVPN(false);
}
@Override
@@ -347,9 +350,9 @@ public class ExternalOpenVPNService extends Service implements StateListener {
public String state;
public String logmessage;
public ConnectionStatus level;
- public String vpnUUID;
+ String vpnUUID;
- public UpdateMessage(String state, String logmessage, ConnectionStatus level) {
+ UpdateMessage(String state, String logmessage, ConnectionStatus level) {
this.state = state;
this.logmessage = logmessage;
this.level = level;
@@ -367,6 +370,11 @@ public class ExternalOpenVPNService extends Service implements StateListener {
}
+ @Override
+ public void setConnectedVPN(String uuid) {
+
+ }
+
private static final OpenVPNServiceHandler mHandler = new OpenVPNServiceHandler();
diff --git a/main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java b/main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
index 07f2152f..799c68c9 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/CIDRIP.java
@@ -47,9 +47,9 @@ class CIDRIP {
public boolean normalise() {
long ip = getInt(mIp);
- long newip = ip & (0xffffffffl << (32 - len));
+ long newip = ip & (0xffffffffL << (32 - len));
if (newip != ip) {
- mIp = String.format("%d.%d.%d.%d", (newip & 0xff000000) >> 24, (newip & 0xff0000) >> 16, (newip & 0xff00) >> 8, newip & 0xff);
+ mIp = String.format(Locale.US,"%d.%d.%d.%d", (newip & 0xff000000) >> 24, (newip & 0xff0000) >> 16, (newip & 0xff00) >> 8, newip & 0xff);
return true;
} else {
return false;
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
index d14e643e..74afd61e 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/ConfigParser.java
@@ -6,7 +6,7 @@
package de.blinkt.openvpn.core;
import android.text.TextUtils;
-import android.util.Pair;
+import android.support.v4.util.Pair;
import java.io.BufferedReader;
import java.io.IOException;
@@ -119,6 +119,9 @@ public class ConfigParser {
}
} while (true);
+ if(inlinefile.endsWith("\n"))
+ inlinefile = inlinefile.substring(0, inlinefile.length()-1);
+
args.clear();
args.add(argname);
args.add(inlinefile);
@@ -251,10 +254,12 @@ public class ConfigParser {
"route-up",
"route-pre-down",
"auth-user-pass-verify",
+ "block-outside-dns",
"dhcp-release",
"dhcp-renew",
"dh",
"group",
+ "allow-recursive-routing",
"ip-win32",
"management-hold",
"management",
@@ -273,6 +278,7 @@ public class ConfigParser {
"plugin",
"machine-readable-output",
"persist-key",
+ "push",
"register-dns",
"route-delay",
"route-gateway",
@@ -322,7 +328,6 @@ public class ConfigParser {
"socks-proxy",
"socks-proxy-retry",
"explicit-exit-notify",
- "mssfix"
};
@@ -394,7 +399,7 @@ public class ConfigParser {
np.mCustomRoutesv6 = customIPv6Routes;
}
- Vector<String> routeNoPull = getOption("route-nopull", 1, 1);
+ Vector<String> routeNoPull = getOption("route-nopull", 0, 0);
if (routeNoPull!=null)
np.mRoutenopull=true;
@@ -417,15 +422,21 @@ public class ConfigParser {
if (direction != null)
np.mTLSAuthDirection = direction.get(1);
- Vector<Vector<String>> defgw = getAllOption("redirect-gateway", 0, 5);
+ Vector<String> tlscrypt = getOption("tls-crypt", 1, 1);
+ if (tlscrypt!=null) {
+ np.mUseTLSAuth = true;
+ np.mTLSAuthFilename = tlscrypt.get(1);
+ np.mTLSAuthDirection = "tls-crypt";
+ }
+
+ Vector<Vector<String>> defgw = getAllOption("redirect-gateway", 0, 7);
if (defgw != null) {
- np.mUseDefaultRoute = true;
- checkRedirectParameters(np, defgw);
+ checkRedirectParameters(np, defgw, true);
}
Vector<Vector<String>> redirectPrivate = getAllOption("redirect-private", 0, 5);
if (redirectPrivate != null) {
- checkRedirectParameters(np, redirectPrivate);
+ checkRedirectParameters(np, redirectPrivate, false);
}
Vector<String> dev = getOption("dev", 1, 1);
Vector<String> devtype = getOption("dev-type", 1, 1);
@@ -448,11 +459,23 @@ public class ConfigParser {
throw new ConfigParseError("Argument to --mssfix has to be an integer");
}
} else {
- np.mMssFix = VpnProfile.DEFAULT_MSSFIX_SIZE;
+ np.mMssFix = 1450; // OpenVPN default size
}
}
+ Vector<String> tunmtu = getOption("mtu", 1, 1);
+
+ if (tunmtu != null) {
+ try {
+ np.mTunMtu = Integer.parseInt(tunmtu.get(1));
+ } catch (NumberFormatException e) {
+ throw new ConfigParseError("Argument to --tun-mtu has to be an integer");
+ }
+ }
+
+
+
Vector<String> mode = getOption("mode", 1, 1);
if (mode != null) {
if (!mode.get(1).equals("p2p"))
@@ -554,16 +577,23 @@ public class ConfigParser {
if (verifyx509name.size() > 2) {
if (verifyx509name.get(2).equals("name"))
np.mX509AuthType = VpnProfile.X509_VERIFY_TLSREMOTE_RDN;
+ else if (verifyx509name.get(2).equals("subject"))
+ np.mX509AuthType = VpnProfile.X509_VERIFY_TLSREMOTE_DN;
else if (verifyx509name.get(2).equals("name-prefix"))
np.mX509AuthType = VpnProfile.X509_VERIFY_TLSREMOTE_RDN_PREFIX;
else
- throw new ConfigParseError("Unknown parameter to x509-verify-name: " + verifyx509name.get(2));
+ throw new ConfigParseError("Unknown parameter to verify-x509-name: " + verifyx509name.get(2));
} else {
np.mX509AuthType = VpnProfile.X509_VERIFY_TLSREMOTE_DN;
}
}
+ Vector<String> x509usernamefield = getOption("x509-username-field", 1,1);
+ if (x509usernamefield!=null) {
+ np.mx509UsernameField = x509usernamefield.get(1);
+ }
+
Vector<String> verb = getOption("verb", 1, 1);
if (verb != null) {
@@ -580,9 +610,12 @@ public class ConfigParser {
if (getOption("push-peer-info", 0, 0) != null)
np.mPushPeerInfo = true;
- Vector<String> connectretry = getOption("connect-retry", 1, 1);
- if (connectretry != null)
+ Vector<String> connectretry = getOption("connect-retry", 1, 2);
+ if (connectretry != null) {
np.mConnectRetry = connectretry.get(1);
+ if (connectretry.size() > 2)
+ np.mConnectRetryMaxTime = connectretry.get(2);
+ }
Vector<String> connectretrymax = getOption("connect-retry-max", 1, 1);
if (connectretrymax != null)
@@ -613,6 +646,19 @@ public class ConfigParser {
}
}
+ Vector<String> authretry = getOption("auth-retry", 1, 1);
+ if (authretry != null) {
+ if (authretry.get(1).equals("none"))
+ np.mAuthRetry = VpnProfile.AUTH_RETRY_NONE_FORGET;
+ else if (authretry.get(1).equals("nointeract"))
+ np.mAuthRetry = VpnProfile.AUTH_RETRY_NOINTERACT;
+ else if (authretry.get(1).equals("interact"))
+ np.mAuthRetry = VpnProfile.AUTH_RETRY_NOINTERACT;
+ else
+ throw new ConfigParseError("Unknown parameter to auth-retry: " + authretry.get(2));
+ }
+
+
Vector<String> crlfile = getOption("crl-verify", 1, 2);
if (crlfile != null) {
// If the 'dir' parameter is present just add it as custom option ..
@@ -776,22 +822,34 @@ public class ConfigParser {
}
- private void checkRedirectParameters(VpnProfile np, Vector<Vector<String>> defgw) {
+ private void checkRedirectParameters(VpnProfile np, Vector<Vector<String>> defgw, boolean defaultRoute) {
+
+ boolean noIpv4 = false;
+ if (defaultRoute)
+
for (Vector<String> redirect : defgw)
for (int i = 1; i < redirect.size(); i++) {
if (redirect.get(i).equals("block-local"))
np.mAllowLocalLAN = false;
else if (redirect.get(i).equals("unblock-local"))
np.mAllowLocalLAN = true;
+ else if (redirect.get(i).equals("!ipv4"))
+ noIpv4=true;
+ else if (redirect.get(i).equals("ipv6"))
+ np.mUseDefaultRoutev6=true;
}
+ if (defaultRoute && !noIpv4)
+ np.mUseDefaultRoute=true;
}
private boolean isUdpProto(String proto) throws ConfigParseError {
boolean isudp;
- if (proto.equals("udp") || proto.equals("udp6"))
+ if (proto.equals("udp") || proto.equals("udp4") || proto.equals("udp6"))
isudp = true;
else if (proto.equals("tcp-client") ||
proto.equals("tcp") ||
+ proto.equals("tcp4") ||
+ proto.endsWith("tcp4-client") ||
proto.equals("tcp6") ||
proto.endsWith("tcp6-client"))
isudp = false;
@@ -858,10 +916,9 @@ public class ConfigParser {
for (Vector<String> optionsline : option) {
if (!ignoreThisOption(optionsline)) {
// Check if option had been inlined and inline again
- if (optionsline.size() == 2 && "extra-certs".equals(optionsline.get(0)) ) {
+ if (optionsline.size() == 2 &&
+ ("extra-certs".equals(optionsline.get(0)) || "http-proxy-user-pass".equals(optionsline.get(0)))) {
custom += VpnProfile.insertFileData(optionsline.get(0), optionsline.get(1));
-
-
} else {
for (String arg : optionsline)
custom += VpnProfile.openVpnEscape(arg) + " ";
diff --git a/main/src/main/java/de/blinkt/openvpn/core/Connection.java b/main/src/main/java/de/blinkt/openvpn/core/Connection.java
index 3455450b..ff15daec 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/Connection.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/Connection.java
@@ -8,21 +8,23 @@ package de.blinkt.openvpn.core;
import android.text.TextUtils;
import java.io.Serializable;
+import java.util.Locale;
public class Connection implements Serializable, Cloneable {
- public String mServerName = "openvpn.blinkt.de";
+ public String mServerName = "openvpn.example.com";
public String mServerPort = "1194";
public boolean mUseUdp = true;
- public String mCustomConfiguration="";
- public boolean mUseCustomConfig=false;
- public boolean mEnabled=true;
+ public String mCustomConfiguration = "";
+ public boolean mUseCustomConfig = false;
+ public boolean mEnabled = true;
public int mConnectTimeout = 0;
+ public static final int CONNECTION_DEFAULT_TIMEOUT = 120;
private static final long serialVersionUID = 92031902903829089L;
public String getConnectionBlock() {
- String cfg="";
+ String cfg = "";
// Server Address
cfg += "remote ";
@@ -34,8 +36,8 @@ public class Connection implements Serializable, Cloneable {
else
cfg += " tcp-client\n";
- if (mConnectTimeout!=0)
- cfg += String.format(" connect-timeout %d\n" , mConnectTimeout);
+ if (mConnectTimeout != 0)
+ cfg += String.format(Locale.US, " connect-timeout %d\n", mConnectTimeout);
if (!TextUtils.isEmpty(mCustomConfiguration) && mUseCustomConfig) {
@@ -53,4 +55,11 @@ public class Connection implements Serializable, Cloneable {
public boolean isOnlyRemote() {
return TextUtils.isEmpty(mCustomConfiguration) || !mUseCustomConfig;
}
+
+ public int getTimeout() {
+ if (mConnectTimeout <= 0)
+ return CONNECTION_DEFAULT_TIMEOUT;
+ else
+ return mConnectTimeout;
+ }
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ConnectionStatus.java b/main/src/main/java/de/blinkt/openvpn/core/ConnectionStatus.java
new file mode 100644
index 00000000..03d842e3
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/ConnectionStatus.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Created by arne on 08.11.16.
+ */
+public enum ConnectionStatus implements Parcelable {
+ LEVEL_CONNECTED,
+ LEVEL_VPNPAUSED,
+ LEVEL_CONNECTING_SERVER_REPLIED,
+ LEVEL_CONNECTING_NO_SERVER_REPLY_YET,
+ LEVEL_NONETWORK,
+ LEVEL_NOTCONNECTED,
+ LEVEL_START,
+ LEVEL_AUTH_FAILED,
+ LEVEL_WAITING_FOR_USER_INPUT,
+ UNKNOWN_LEVEL;
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeInt(ordinal());
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ public static final Creator<ConnectionStatus> CREATOR = new Creator<ConnectionStatus>() {
+ @Override
+ public ConnectionStatus createFromParcel(Parcel in) {
+ return ConnectionStatus.values()[in.readInt()];
+ }
+
+ @Override
+ public ConnectionStatus[] newArray(int size) {
+ return new ConnectionStatus[size];
+ }
+ };
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java b/main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java
index ccd5f7ff..7b5946a3 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/DeviceStateReceiver.java
@@ -20,6 +20,7 @@ import de.blinkt.openvpn.core.VpnStatus.ByteCountListener;
import java.util.LinkedList;
import java.util.Objects;
+import java.util.StringTokenizer;
import static de.blinkt.openvpn.core.OpenVPNManagement.pauseReason;
@@ -64,13 +65,13 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
return shouldBeConnected();
}
- enum connectState {
+ private enum connectState {
SHOULDBECONNECTED,
PENDINGDISCONNECT,
DISCONNECTED
}
- static class Datapoint {
+ private static class Datapoint {
private Datapoint(long t, long d) {
timestamp = t;
data = d;
@@ -80,7 +81,7 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
long data;
}
- LinkedList<Datapoint> trafficdata = new LinkedList<DeviceStateReceiver.Datapoint>();
+ private LinkedList<Datapoint> trafficdata = new LinkedList<>();
@Override
@@ -102,7 +103,7 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
if (windowtraffic < TRAFFIC_LIMIT) {
screen = connectState.DISCONNECTED;
VpnStatus.logInfo(R.string.screenoff_pause,
- OpenVPNService.humanReadableByteCount(TRAFFIC_LIMIT, false), TRAFFIC_WINDOW);
+ "64 kB", TRAFFIC_WINDOW);
mManagement.pause(getPauseReason());
}
@@ -135,7 +136,7 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
@Override
public void onReceive(Context context, Intent intent) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(context);
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())) {
@@ -173,15 +174,15 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
private void fillTrafficData() {
trafficdata.add(new Datapoint(System.currentTimeMillis(), TRAFFIC_LIMIT));
}
+
public static boolean equalsObj(Object a, Object b) {
return (a == null) ? (b == null) : a.equals(b);
}
-
public void networkStateChange(Context context) {
NetworkInfo networkInfo = getCurrentNetworkInfo(context);
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(context);
boolean sendusr1 = prefs.getBoolean("netchangereconnect", true);
@@ -261,6 +262,8 @@ public class DeviceStateReceiver extends BroadcastReceiver implements ByteCountL
if (!netstatestring.equals(lastStateMsg))
VpnStatus.logInfo(R.string.netstatus, netstatestring);
+ VpnStatus.logDebug(String.format("Debug state info: %s, pause: %s, shouldbeconnected: %s, network: %s ",
+ netstatestring, getPauseReason(), shouldBeConnected(), network));
lastStateMsg = netstatestring;
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java b/main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java
index f35ebb23..919c7d3e 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/ICSOpenVPNApplication.java
@@ -4,7 +4,14 @@
*/
package de.blinkt.openvpn.core;
+
+import android.annotation.TargetApi;
import android.app.Application;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.graphics.Color;
+import android.os.Build;
/*
import org.acra.ACRA;
@@ -12,32 +19,50 @@ import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
*/
-import de.blinkt.openvpn.BuildConfig;
import de.blinkt.openvpn.R;
-import de.blinkt.openvpn.core.PRNGFixes;
-/*
-@ReportsCrashes(
- formKey = "",
- formUri = "http://reports.blinkt.de/report-icsopenvpn",
- reportType = org.acra.sender.HttpSender.Type.JSON,
- httpMethod = org.acra.sender.HttpSender.Method.PUT,
- formUriBasicAuthLogin="report-icsopenvpn",
- formUriBasicAuthPassword="Tohd4neiF9Ai!!!!111eleven",
- mode = ReportingInteractionMode.TOAST,
- resToastText = R.string.crash_toast_text
-)
-*/
public class ICSOpenVPNApplication extends Application {
+ private StatusListener mStatus;
+
@Override
public void onCreate() {
super.onCreate();
PRNGFixes.apply();
- if (BuildConfig.DEBUG) {
- //ACRA.init(this);
- }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+
+ createNotificationChannels();
+ mStatus = new StatusListener();
+ mStatus.init(getApplicationContext());
+
+ }
+
+ @TargetApi(Build.VERSION_CODES.O)
+ private void createNotificationChannels() {
+ NotificationManager mNotificationManager =
+ (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+
+ // Background message
+ CharSequence name = getString(R.string.channel_name_background);
+ NotificationChannel mChannel = new NotificationChannel(OpenVPNService.NOTIFICATION_CHANNEL_BG_ID,
+ name, NotificationManager.IMPORTANCE_MIN);
+
+ mChannel.setDescription(getString(R.string.channel_description_background));
+ mChannel.enableLights(false);
+
+ mChannel.setLightColor(Color.DKGRAY);
+ mNotificationManager.createNotificationChannel(mChannel);
+
+ // Connection status change messages
+
+ name = getString(R.string.channel_name_status);
+ mChannel = new NotificationChannel(OpenVPNService.NOTIFICATION_CHANNEL_NEWSTATUS_ID,
+ name, NotificationManager.IMPORTANCE_DEFAULT);
+
+ mChannel.setDescription(getString(R.string.channel_description_status));
+ mChannel.enableLights(true);
- VpnStatus.initLogCache(getApplicationContext().getCacheDir());
+ mChannel.setLightColor(Color.BLUE);
+ mNotificationManager.createNotificationChannel(mChannel);
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/LogFileHandler.java b/main/src/main/java/de/blinkt/openvpn/core/LogFileHandler.java
index d69fdfb0..459333fb 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/LogFileHandler.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/LogFileHandler.java
@@ -8,7 +8,6 @@ package de.blinkt.openvpn.core;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.os.Parcel;
import java.io.BufferedInputStream;
import java.io.File;
@@ -16,6 +15,10 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
import java.util.Locale;
@@ -29,7 +32,8 @@ class LogFileHandler extends Handler {
static final int FLUSH_TO_DISK = 101;
static final int LOG_INIT = 102;
public static final int LOG_MESSAGE = 103;
- private static FileOutputStream mLogFile;
+ public static final int MAGIC_BYTE = 0x55;
+ protected OutputStream mLogFile;
public static final String LOGFILE_NAME = "logcache.dat";
@@ -47,20 +51,20 @@ class LogFileHandler extends Handler {
throw new RuntimeException("mLogFile not null");
readLogCache((File) msg.obj);
openLogFile((File) msg.obj);
- } else if (msg.what == LOG_MESSAGE && msg.obj instanceof VpnStatus.LogItem) {
+ } else if (msg.what == LOG_MESSAGE && msg.obj instanceof LogItem) {
// Ignore log messages if not yet initialized
if (mLogFile == null)
return;
- writeLogItemToDisk((VpnStatus.LogItem) msg.obj);
+ writeLogItemToDisk((LogItem) msg.obj);
} else if (msg.what == TRIM_LOG_FILE) {
trimLogFile();
- for (VpnStatus.LogItem li : VpnStatus.getlogbuffer())
+ for (LogItem li : VpnStatus.getlogbuffer())
writeLogItemToDisk(li);
} else if (msg.what == FLUSH_TO_DISK) {
flushToDisk();
}
- } catch (IOException e) {
+ } catch (IOException | BufferOverflowException e) {
e.printStackTrace();
VpnStatus.logError("Error during log cache: " + msg.what);
VpnStatus.logException(e);
@@ -72,95 +76,160 @@ class LogFileHandler extends Handler {
mLogFile.flush();
}
- private static void trimLogFile() {
+ private void trimLogFile() {
try {
mLogFile.flush();
- mLogFile.getChannel().truncate(0);
+ ((FileOutputStream) mLogFile).getChannel().truncate(0);
} catch (IOException e) {
e.printStackTrace();
}
}
- private void writeLogItemToDisk(VpnStatus.LogItem li) throws IOException {
- Parcel p = Parcel.obtain();
- li.writeToParcel(p, 0);
+ private void writeLogItemToDisk(LogItem li) throws IOException {
+
// We do not really care if the log cache breaks between Android upgrades,
// write binary format to disc
- byte[] liBytes = p.marshall();
- byte[] lenBytes = ByteBuffer.allocate(4).putInt(liBytes.length).array();
- mLogFile.write(lenBytes);
- mLogFile.write(liBytes);
- p.recycle();
+ byte[] liBytes = li.getMarschaledBytes();
+
+ writeEscapedBytes(liBytes);
+ }
+
+ public void writeEscapedBytes(byte[] bytes) throws IOException {
+ int magic = 0;
+ for (byte b : bytes)
+ if (b == MAGIC_BYTE || b == MAGIC_BYTE + 1)
+ magic++;
+
+ byte eBytes[] = new byte[bytes.length + magic];
+
+ int i = 0;
+ for (byte b : bytes) {
+ if (b == MAGIC_BYTE || b == MAGIC_BYTE + 1) {
+ eBytes[i++] = MAGIC_BYTE + 1;
+ eBytes[i++] = (byte) (b - MAGIC_BYTE);
+ } else {
+ eBytes[i++] = b;
+ }
+ }
+
+ byte[] lenBytes = ByteBuffer.allocate(4).putInt(bytes.length).array();
+ synchronized (mLogFile) {
+ mLogFile.write(MAGIC_BYTE);
+ mLogFile.write(lenBytes);
+ mLogFile.write(eBytes);
+ }
}
- private void openLogFile (File cacheDir) throws FileNotFoundException {
+ private void openLogFile(File cacheDir) throws FileNotFoundException {
File logfile = new File(cacheDir, LOGFILE_NAME);
mLogFile = new FileOutputStream(logfile);
}
private void readLogCache(File cacheDir) {
- File logfile = new File(cacheDir, LOGFILE_NAME);
-
+ try {
+ File logfile = new File(cacheDir, LOGFILE_NAME);
- if (!logfile.exists() || !logfile.canRead())
- return;
+ if (!logfile.exists() || !logfile.canRead())
+ return;
+ readCacheContents(new FileInputStream(logfile));
- try {
+ } catch (java.io.IOException | java.lang.RuntimeException e) {
+ VpnStatus.logError("Reading cached logfile failed");
+ VpnStatus.logException(e);
+ e.printStackTrace();
+ // ignore reading file error
+ } finally {
+ synchronized (VpnStatus.readFileLock) {
+ VpnStatus.readFileLog = true;
+ VpnStatus.readFileLock.notifyAll();
+ }
+ }
+ }
- BufferedInputStream logFile = new BufferedInputStream(new FileInputStream(logfile));
- byte[] buf = new byte[8192];
- int read = logFile.read(buf, 0, 4);
- int itemsRead=0;
+ protected void readCacheContents(InputStream in) throws IOException {
+ BufferedInputStream logFile = new BufferedInputStream(in);
- while (read >= 4) {
- int len = ByteBuffer.wrap(buf, 0, 4).asIntBuffer().get();
+ byte[] buf = new byte[16384];
+ int read = logFile.read(buf, 0, 5);
+ int itemsRead = 0;
- // Marshalled LogItem
- read = logFile.read(buf, 0, len);
- Parcel p = Parcel.obtain();
- p.unmarshall(buf, 0, read);
- p.setDataPosition(0);
- VpnStatus.LogItem li = VpnStatus.LogItem.CREATOR.createFromParcel(p);
- if (li.verify()) {
- VpnStatus.newLogItem(li, true);
- } else {
- VpnStatus.logError(String.format(Locale.getDefault(),
- "Could not read log item from file: %d/%d: %s",
- read, len, bytesToHex(buf, Math.max(read,80))));
+ readloop:
+ while (read >= 5) {
+ int skipped = 0;
+ while (buf[skipped] != MAGIC_BYTE) {
+ skipped++;
+ if (!(logFile.read(buf, skipped + 4, 1) == 1) || skipped + 10 > buf.length) {
+ VpnStatus.logDebug(String.format(Locale.US, "Skipped %d bytes and no a magic byte found", skipped));
+ break readloop;
}
- p.recycle();
-
- //Next item
- read = logFile.read(buf, 0, 4);
- itemsRead++;
- if (itemsRead > 2*VpnStatus.MAXLOGENTRIES) {
- VpnStatus.logError("Too many logentries read from cache, aborting.");
- read = 0;
+ }
+ if (skipped > 0)
+ VpnStatus.logDebug(String.format(Locale.US, "Skipped %d bytes before finding a magic byte", skipped));
+
+ int len = ByteBuffer.wrap(buf, skipped + 1, 4).asIntBuffer().get();
+
+ // Marshalled LogItem
+ int pos = 0;
+ byte buf2[] = new byte[buf.length];
+
+ while (pos < len) {
+ byte b = (byte) logFile.read();
+ if (b == MAGIC_BYTE) {
+ VpnStatus.logDebug(String.format(Locale.US, "Unexpected magic byte found at pos %d, abort current log item", pos));
+ read = logFile.read(buf, 1, 4) + 1;
+ continue readloop;
+ } else if (b == MAGIC_BYTE + 1) {
+ b = (byte) logFile.read();
+ if (b == 0)
+ b = MAGIC_BYTE;
+ else if (b == 1)
+ b = MAGIC_BYTE + 1;
+ else {
+ VpnStatus.logDebug(String.format(Locale.US, "Escaped byte not 0 or 1: %d", b));
+ read = logFile.read(buf, 1, 4) + 1;
+ continue readloop;
+ }
}
+ buf2[pos++] = b;
+ }
+
+ restoreLogItem(buf2, len);
+ //Next item
+ read = logFile.read(buf, 0, 5);
+ itemsRead++;
+ if (itemsRead > 2 * VpnStatus.MAXLOGENTRIES) {
+ VpnStatus.logError("Too many logentries read from cache, aborting.");
+ read = 0;
}
- VpnStatus.logDebug(R.string.reread_log, itemsRead);
+ }
+ VpnStatus.logDebug(R.string.reread_log, itemsRead);
+ }
+ protected void restoreLogItem(byte[] buf, int len) throws UnsupportedEncodingException {
- } catch (java.io.IOException | java.lang.RuntimeException e) {
- VpnStatus.logError("Reading cached logfile failed");
- VpnStatus.logException(e);
- e.printStackTrace();
- // ignore reading file error
+ LogItem li = new LogItem(buf, len);
+ if (li.verify()) {
+ VpnStatus.newLogItem(li, true);
+ } else {
+ VpnStatus.logError(String.format(Locale.getDefault(),
+ "Could not read log item from file: %d: %s",
+ len, bytesToHex(buf, Math.max(len, 80))));
}
}
- final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
+ private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
+
public static String bytesToHex(byte[] bytes, int len) {
len = Math.min(bytes.length, len);
char[] hexChars = new char[len * 2];
- for ( int j = 0; j < len; j++ ) {
+ for (int j = 0; j < len; j++) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = hexArray[v >>> 4];
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
diff --git a/main/src/main/java/de/blinkt/openvpn/core/LogItem.java b/main/src/main/java/de/blinkt/openvpn/core/LogItem.java
new file mode 100644
index 00000000..823343a2
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/LogItem.java
@@ -0,0 +1,375 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.Signature;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.io.ByteArrayInputStream;
+import java.io.UnsupportedEncodingException;
+import java.nio.BufferOverflowException;
+import java.nio.ByteBuffer;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.FormatFlagsConversionMismatchException;
+import java.util.Locale;
+import java.util.UnknownFormatConversionException;
+
+import de.blinkt.openvpn.R;
+
+/**
+ * Created by arne on 24.04.16.
+ */
+public class LogItem implements Parcelable {
+ private Object[] mArgs = null;
+ private String mMessage = null;
+ private int mRessourceId;
+ // Default log priority
+ VpnStatus.LogLevel mLevel = VpnStatus.LogLevel.INFO;
+ private long logtime = System.currentTimeMillis();
+ private int mVerbosityLevel = -1;
+
+ private LogItem(int ressourceId, Object[] args) {
+ mRessourceId = ressourceId;
+ mArgs = args;
+ }
+
+ public LogItem(VpnStatus.LogLevel level, int verblevel, String message) {
+ mMessage = message;
+ mLevel = level;
+ mVerbosityLevel = verblevel;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeArray(mArgs);
+ dest.writeString(mMessage);
+ dest.writeInt(mRessourceId);
+ dest.writeInt(mLevel.getInt());
+ dest.writeInt(mVerbosityLevel);
+
+ dest.writeLong(logtime);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (!(obj instanceof LogItem))
+ return obj.equals(this);
+ LogItem other = (LogItem) obj;
+
+ return Arrays.equals(mArgs, other.mArgs) &&
+ ((other.mMessage == null && mMessage == other.mMessage) ||
+ mMessage.equals(other.mMessage)) &&
+ mRessourceId == other.mRessourceId &&
+ ((mLevel == null && other.mLevel == mLevel) ||
+ other.mLevel.equals(mLevel)) &&
+ mVerbosityLevel == other.mVerbosityLevel &&
+ logtime == other.logtime;
+
+
+ }
+
+ public byte[] getMarschaledBytes() throws UnsupportedEncodingException, BufferOverflowException {
+ ByteBuffer bb = ByteBuffer.allocate(16384);
+
+
+ bb.put((byte) 0x0); //version
+ bb.putLong(logtime); //8
+ bb.putInt(mVerbosityLevel); //4
+ bb.putInt(mLevel.getInt());
+ bb.putInt(mRessourceId);
+ if (mMessage == null || mMessage.length() == 0) {
+ bb.putInt(0);
+ } else {
+ marschalString(mMessage, bb);
+ }
+ if (mArgs == null || mArgs.length == 0) {
+ bb.putInt(0);
+ } else {
+ bb.putInt(mArgs.length);
+ for (Object o : mArgs) {
+ if (o instanceof String) {
+ bb.putChar('s');
+ marschalString((String) o, bb);
+ } else if (o instanceof Integer) {
+ bb.putChar('i');
+ bb.putInt((Integer) o);
+ } else if (o instanceof Float) {
+ bb.putChar('f');
+ bb.putFloat((Float) o);
+ } else if (o instanceof Double) {
+ bb.putChar('d');
+ bb.putDouble((Double) o);
+ } else if (o instanceof Long) {
+ bb.putChar('l');
+ bb.putLong((Long) o);
+ } else if (o == null) {
+ bb.putChar('0');
+ } else {
+ VpnStatus.logDebug("Unknown object for LogItem marschaling " + o);
+ bb.putChar('s');
+ marschalString(o.toString(), bb);
+ }
+
+ }
+ }
+
+ int pos = bb.position();
+ bb.rewind();
+ return Arrays.copyOf(bb.array(), pos);
+
+ }
+
+ public LogItem(byte[] in, int length) throws UnsupportedEncodingException {
+ ByteBuffer bb = ByteBuffer.wrap(in, 0, length);
+ bb.get(); // ignore version
+ logtime = bb.getLong();
+ mVerbosityLevel = bb.getInt();
+ mLevel = VpnStatus.LogLevel.getEnumByValue(bb.getInt());
+ mRessourceId = bb.getInt();
+ int len = bb.getInt();
+ if (len == 0) {
+ mMessage = null;
+ } else {
+ if (len > bb.remaining())
+ throw new IndexOutOfBoundsException("String length " + len + " is bigger than remaining bytes " + bb.remaining());
+ byte[] utf8bytes = new byte[len];
+ bb.get(utf8bytes);
+ mMessage = new String(utf8bytes, "UTF-8");
+ }
+ int numArgs = bb.getInt();
+ if (numArgs > 30) {
+ throw new IndexOutOfBoundsException("Too many arguments for Logitem to unmarschal");
+ }
+ if (numArgs == 0) {
+ mArgs = null;
+ } else {
+ mArgs = new Object[numArgs];
+ for (int i = 0; i < numArgs; i++) {
+ char type = bb.getChar();
+ switch (type) {
+ case 's':
+ mArgs[i] = unmarschalString(bb);
+ break;
+ case 'i':
+ mArgs[i] = bb.getInt();
+ break;
+ case 'd':
+ mArgs[i] = bb.getDouble();
+ break;
+ case 'f':
+ mArgs[i] = bb.getFloat();
+ break;
+ case 'l':
+ mArgs[i] = bb.getLong();
+ break;
+ case '0':
+ mArgs[i] = null;
+ break;
+ default:
+ throw new UnsupportedEncodingException("Unknown format type: " + type);
+ }
+ }
+ }
+ if (bb.hasRemaining())
+ throw new UnsupportedEncodingException(bb.remaining() + " bytes left after unmarshaling everything");
+ }
+
+ private void marschalString(String str, ByteBuffer bb) throws UnsupportedEncodingException {
+ byte[] utf8bytes = str.getBytes("UTF-8");
+ bb.putInt(utf8bytes.length);
+ bb.put(utf8bytes);
+ }
+
+ private String unmarschalString(ByteBuffer bb) throws UnsupportedEncodingException {
+ int len = bb.getInt();
+ byte[] utf8bytes = new byte[len];
+ bb.get(utf8bytes);
+ return new String(utf8bytes, "UTF-8");
+ }
+
+
+ public LogItem(Parcel in) {
+ mArgs = in.readArray(Object.class.getClassLoader());
+ mMessage = in.readString();
+ mRessourceId = in.readInt();
+ mLevel = VpnStatus.LogLevel.getEnumByValue(in.readInt());
+ mVerbosityLevel = in.readInt();
+ logtime = in.readLong();
+ }
+
+ public static final Creator<LogItem> CREATOR
+ = new Creator<LogItem>() {
+ public LogItem createFromParcel(Parcel in) {
+ return new LogItem(in);
+ }
+
+ public LogItem[] newArray(int size) {
+ return new LogItem[size];
+ }
+ };
+
+ public LogItem(VpnStatus.LogLevel loglevel, int ressourceId, Object... args) {
+ mRessourceId = ressourceId;
+ mArgs = args;
+ mLevel = loglevel;
+ }
+
+
+ public LogItem(VpnStatus.LogLevel loglevel, String msg) {
+ mLevel = loglevel;
+ mMessage = msg;
+ }
+
+
+ public LogItem(VpnStatus.LogLevel loglevel, int ressourceId) {
+ mRessourceId = ressourceId;
+ mLevel = loglevel;
+ }
+
+ public String getString(Context c) {
+ try {
+ if (mMessage != null) {
+ return mMessage;
+ } else {
+ if (c != null) {
+ if (mRessourceId == R.string.mobile_info)
+ return getMobileInfoString(c);
+ if (mArgs == null)
+ return c.getString(mRessourceId);
+ else
+ return c.getString(mRessourceId, mArgs);
+ } else {
+ String str = String.format(Locale.ENGLISH, "Log (no context) resid %d", mRessourceId);
+ if (mArgs != null)
+ str += join("|", mArgs);
+
+ return str;
+ }
+ }
+ } catch (UnknownFormatConversionException e) {
+ if (c != null)
+ throw new UnknownFormatConversionException(e.getLocalizedMessage() + getString(null));
+ else
+ throw e;
+ } catch (java.util.FormatFlagsConversionMismatchException e) {
+ if (c != null)
+ throw new FormatFlagsConversionMismatchException(e.getLocalizedMessage() + getString(null), e.getConversion());
+ else
+ throw e;
+ }
+
+ }
+
+
+ // TextUtils.join will cause not macked exeception in tests ....
+ public static String join(CharSequence delimiter, Object[] tokens) {
+ StringBuilder sb = new StringBuilder();
+ boolean firstTime = true;
+ for (Object token : tokens) {
+ if (firstTime) {
+ firstTime = false;
+ } else {
+ sb.append(delimiter);
+ }
+ sb.append(token);
+ }
+ return sb.toString();
+ }
+
+
+ public VpnStatus.LogLevel getLogLevel() {
+ return mLevel;
+ }
+
+
+ @Override
+ public String toString() {
+ return getString(null);
+ }
+
+ // The lint is wrong here
+ @SuppressLint("StringFormatMatches")
+ private String getMobileInfoString(Context c) {
+ c.getPackageManager();
+ String apksign = "error getting package signature";
+
+ String version = "error getting version";
+ try {
+ @SuppressLint("PackageManagerGetSignatures")
+ Signature raw = c.getPackageManager().getPackageInfo(c.getPackageName(), PackageManager.GET_SIGNATURES).signatures[0];
+ CertificateFactory cf = CertificateFactory.getInstance("X.509");
+ X509Certificate cert = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(raw.toByteArray()));
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+ byte[] der = cert.getEncoded();
+ md.update(der);
+ byte[] digest = md.digest();
+
+ if (Arrays.equals(digest, VpnStatus.officalkey))
+ apksign = c.getString(R.string.official_build);
+ else if (Arrays.equals(digest, VpnStatus.officaldebugkey))
+ apksign = c.getString(R.string.debug_build);
+ else if (Arrays.equals(digest, VpnStatus.amazonkey))
+ apksign = "amazon version";
+ else if (Arrays.equals(digest, VpnStatus.fdroidkey))
+ apksign = "F-Droid built and signed version";
+ else
+ apksign = c.getString(R.string.built_by, cert.getSubjectX500Principal().getName());
+
+ PackageInfo packageinfo = c.getPackageManager().getPackageInfo(c.getPackageName(), 0);
+ version = packageinfo.versionName;
+
+ } catch (PackageManager.NameNotFoundException | CertificateException |
+ NoSuchAlgorithmException ignored) {
+ }
+
+ Object[] argsext = Arrays.copyOf(mArgs, mArgs.length);
+ argsext[argsext.length - 1] = apksign;
+ argsext[argsext.length - 2] = version;
+
+ return c.getString(R.string.mobile_info, argsext);
+
+ }
+
+ public long getLogtime() {
+ return logtime;
+ }
+
+
+ public int getVerbosityLevel() {
+ if (mVerbosityLevel == -1) {
+ // Hack:
+ // For message not from OpenVPN, report the status level as log level
+ return mLevel.getInt();
+ }
+ return mVerbosityLevel;
+ }
+
+ public boolean verify() {
+ if (mLevel == null)
+ return false;
+
+ if (mMessage == null && mRessourceId == 0)
+ return false;
+
+ return true;
+ }
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java b/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
index c3985466..2c56b11f 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java
@@ -34,8 +34,8 @@ public class NetworkSpace {
/**
* sorts the networks with following criteria:
- * 1. compares first 1 of the network
- * 2. smaller networks are returned as smaller
+ * 1. compares first 1 of the network
+ * 2. smaller networks are returned as smaller
*/
@Override
public int compareTo(@NonNull ipAddress another) {
@@ -55,8 +55,7 @@ public class NetworkSpace {
/**
* Warning ignores the included integer
*
- * @param o
- * the object to compare this instance with.
+ * @param o the object to compare this instance with.
*/
@Override
public boolean equals(Object o) {
@@ -89,15 +88,15 @@ public class NetworkSpace {
}
public BigInteger getLastAddress() {
- if(lastAddress ==null)
+ if (lastAddress == null)
lastAddress = getMaskedAddress(true);
return lastAddress;
}
public BigInteger getFirstAddress() {
- if (firstAddress ==null)
- firstAddress =getMaskedAddress(false);
+ if (firstAddress == null)
+ firstAddress = getMaskedAddress(false);
return firstAddress;
}
@@ -126,7 +125,7 @@ public class NetworkSpace {
public String toString() {
//String in = included ? "+" : "-";
if (isV4)
- return String.format(Locale.US,"%s/%d", getIPv4Address(), networkMask);
+ return String.format(Locale.US, "%s/%d", getIPv4Address(), networkMask);
else
return String.format(Locale.US, "%s/%d", getIPv6Address(), networkMask);
}
@@ -142,36 +141,48 @@ public class NetworkSpace {
public ipAddress[] split() {
ipAddress firstHalf = new ipAddress(getFirstAddress(), networkMask + 1, included, isV4);
ipAddress secondHalf = new ipAddress(firstHalf.getLastAddress().add(BigInteger.ONE), networkMask + 1, included, isV4);
- if (BuildConfig.DEBUG) Assert.assertTrue(secondHalf.getLastAddress().equals(getLastAddress()));
+ if (BuildConfig.DEBUG)
+ Assert.assertTrue(secondHalf.getLastAddress().equals(getLastAddress()));
return new ipAddress[]{firstHalf, secondHalf};
}
String getIPv4Address() {
if (BuildConfig.DEBUG) {
- Assert.assertTrue (isV4);
- Assert.assertTrue (netAddress.longValue() <= 0xffffffffl);
- Assert.assertTrue (netAddress.longValue() >= 0);
+ Assert.assertTrue(isV4);
+ Assert.assertTrue(netAddress.longValue() <= 0xffffffffl);
+ Assert.assertTrue(netAddress.longValue() >= 0);
}
long ip = netAddress.longValue();
return String.format(Locale.US, "%d.%d.%d.%d", (ip >> 24) % 256, (ip >> 16) % 256, (ip >> 8) % 256, ip % 256);
}
String getIPv6Address() {
- if (BuildConfig.DEBUG) Assert.assertTrue (!isV4);
+ if (BuildConfig.DEBUG) Assert.assertTrue(!isV4);
BigInteger r = netAddress;
- Vector<String> parts = new Vector<String>();
- while (r.compareTo(BigInteger.ZERO) == 1 || parts.size() <3) {
+ String ipv6str = null;
+ boolean lastPart = true;
+
+ while (r.compareTo(BigInteger.ZERO) == 1) {
+
long part = r.mod(BigInteger.valueOf(0x10000)).longValue();
- if (part!=0)
- parts.add(0, String.format(Locale.US, "%x", part));
- else
- parts.add(0, "");
+ if (ipv6str != null || part != 0) {
+ if (ipv6str == null && !lastPart)
+ ipv6str = ":";
+
+ if (lastPart)
+ ipv6str = String.format(Locale.US, "%x", part, ipv6str);
+ else
+ ipv6str = String.format(Locale.US, "%x:%s", part, ipv6str);
+ }
+
r = r.shiftRight(16);
+ lastPart = false;
}
- String ipv6str = TextUtils.join(":", parts);
- while (ipv6str.contains(":::"))
- ipv6str = ipv6str.replace(":::", "::");
+ if (ipv6str == null)
+ return "::";
+
+
return ipv6str;
}
@@ -183,8 +194,8 @@ public class NetworkSpace {
BigInteger netLast = network.getLastAddress();
boolean a = ourFirst.compareTo(netFirst) != 1;
- boolean b = ourLast.compareTo(netLast) != -1;
- return a && b;
+ boolean b = ourLast.compareTo(netLast) != -1;
+ return a && b;
}
}
@@ -215,7 +226,7 @@ public class NetworkSpace {
public void addIPSplit(CIDRIP cidrIp, boolean include) {
ipAddress newIP = new ipAddress(cidrIp, include);
ipAddress[] splitIps = newIP.split();
- for (ipAddress split: splitIps)
+ for (ipAddress split : splitIps)
mIpAddresses.add(split);
}
@@ -229,16 +240,16 @@ public class NetworkSpace {
TreeSet<ipAddress> ipsDone = new TreeSet<ipAddress>();
- ipAddress currentNet = networks.poll();
- if (currentNet==null)
+ ipAddress currentNet = networks.poll();
+ if (currentNet == null)
return ipsDone;
- while (currentNet!=null) {
+ while (currentNet != null) {
// Check if it and the next of it are compatible
ipAddress nextNet = networks.poll();
if (BuildConfig.DEBUG) Assert.assertNotNull(currentNet);
- if (nextNet== null || currentNet.getLastAddress().compareTo(nextNet.getFirstAddress()) == -1) {
+ if (nextNet == null || currentNet.getLastAddress().compareTo(nextNet.getFirstAddress()) == -1) {
// Everything good, no overlapping nothing to do
ipsDone.add(currentNet);
@@ -249,7 +260,7 @@ public class NetworkSpace {
if (currentNet.included == nextNet.included) {
// Included in the next next and same type
// Simply forget our current network
- currentNet=nextNet;
+ currentNet = nextNet;
} else {
// our currentNet is included in next and types differ. Need to split the next network
ipAddress[] newNets = nextNet.split();
@@ -262,7 +273,8 @@ public class NetworkSpace {
networks.add(newNets[1]);
if (newNets[0].getLastAddress().equals(currentNet.getLastAddress())) {
- if (BuildConfig.DEBUG) Assert.assertEquals (newNets[0].networkMask, currentNet.networkMask);
+ if (BuildConfig.DEBUG)
+ Assert.assertEquals(newNets[0].networkMask, currentNet.networkMask);
// Don't add the lower half that would conflict with currentNet
} else {
if (!networks.contains(newNets[0]))
@@ -273,8 +285,8 @@ public class NetworkSpace {
} else {
if (BuildConfig.DEBUG) {
Assert.assertTrue(currentNet.networkMask < nextNet.networkMask);
- Assert.assertTrue (nextNet.getFirstAddress().compareTo(currentNet.getFirstAddress()) == 1);
- Assert.assertTrue (currentNet.getLastAddress().compareTo(nextNet.getLastAddress()) != -1);
+ Assert.assertTrue(nextNet.getFirstAddress().compareTo(currentNet.getFirstAddress()) == 1);
+ Assert.assertTrue(currentNet.getLastAddress().compareTo(nextNet.getLastAddress()) != -1);
}
// This network is bigger than the next and last ip of current >= next
@@ -289,8 +301,8 @@ public class NetworkSpace {
if (newNets[1].networkMask == nextNet.networkMask) {
if (BuildConfig.DEBUG) {
- Assert.assertTrue (newNets[1].getFirstAddress().equals(nextNet.getFirstAddress()));
- Assert.assertTrue (newNets[1].getLastAddress().equals(currentNet.getLastAddress()));
+ Assert.assertTrue(newNets[1].getFirstAddress().equals(nextNet.getFirstAddress()));
+ Assert.assertTrue(newNets[1].getLastAddress().equals(currentNet.getLastAddress()));
// split second equal the next network, do not add it
}
networks.add(nextNet);
@@ -322,20 +334,20 @@ public class NetworkSpace {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
// Include postive routes from the original set under < 4.4 since these might overrule the local
// network but only if no smaller negative route exists
- for(ipAddress origIp: mIpAddresses){
+ for (ipAddress origIp : mIpAddresses) {
if (!origIp.included)
continue;
// The netspace exists
- if(ipsSorted.contains(origIp))
+ if (ipsSorted.contains(origIp))
continue;
- boolean skipIp=false;
+ boolean skipIp = false;
// If there is any smaller net that is excluded we may not add the positive route back
- for (ipAddress calculatedIp: ipsSorted) {
- if(!calculatedIp.included && origIp.containsNet(calculatedIp)) {
- skipIp=true;
+ for (ipAddress calculatedIp : ipsSorted) {
+ if (!calculatedIp.included && origIp.containsNet(calculatedIp)) {
+ skipIp = true;
break;
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java
index 2911fb1e..ef17e98b 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNManagement.java
@@ -13,7 +13,7 @@ public interface OpenVPNManagement {
enum pauseReason {
noNetwork,
userPause,
- screenOff
+ screenOff,
}
int mBytecountInterval = 2;
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java
index 291bedfe..542089be 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java
@@ -7,6 +7,7 @@ package de.blinkt.openvpn.core;
import android.Manifest.permission;
import android.annotation.TargetApi;
+import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -16,17 +17,21 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.pm.ShortcutManager;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.VpnService;
-import android.os.Binder;
import android.os.Build;
+import android.os.Bundle;
import android.os.Handler;
import android.os.Handler.Callback;
import android.os.IBinder;
import android.os.Message;
import android.os.ParcelFileDescriptor;
-import android.preference.PreferenceManager;
+import android.os.RemoteException;
+import android.support.annotation.NonNull;
+import android.support.annotation.RequiresApi;
import android.system.OsConstants;
import android.text.TextUtils;
import android.util.Log;
@@ -39,38 +44,38 @@ import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Locale;
import java.util.Vector;
import de.blinkt.openvpn.BuildConfig;
+import de.blinkt.openvpn.LaunchVPN;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.activities.DisconnectVPN;
import de.blinkt.openvpn.core.VpnStatus.ByteCountListener;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
import de.blinkt.openvpn.core.VpnStatus.StateListener;
+import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_CONNECTED;
+import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_WAITING_FOR_USER_INPUT;
import static de.blinkt.openvpn.core.NetworkSpace.ipAddress;
-import static de.blinkt.openvpn.core.VpnStatus.ConnectionStatus.LEVEL_CONNECTED;
-import static de.blinkt.openvpn.core.VpnStatus.ConnectionStatus.LEVEL_CONNECTING_NO_SERVER_REPLY_YET;
-import static de.blinkt.openvpn.core.VpnStatus.ConnectionStatus.LEVEL_WAITING_FOR_USER_INPUT;
import se.leap.bitmaskclient.Dashboard;
-public class OpenVPNService extends VpnService implements StateListener, Callback, ByteCountListener {
+public class OpenVPNService extends VpnService implements StateListener, Callback, ByteCountListener, IOpenVPNServiceInternal {
public static final String START_SERVICE = "de.blinkt.openvpn.START_SERVICE";
public static final String START_SERVICE_STICKY = "de.blinkt.openvpn.START_SERVICE_STICKY";
public static final String ALWAYS_SHOW_NOTIFICATION = "de.blinkt.openvpn.NOTIFICATION_ALWAYS_VISIBLE";
public static final String DISCONNECT_VPN = "de.blinkt.openvpn.DISCONNECT_VPN";
private static final String PAUSE_VPN = "de.blinkt.openvpn.PAUSE_VPN";
private static final String RESUME_VPN = "de.blinkt.openvpn.RESUME_VPN";
- private static final int OPENVPN_STATUS = 1;
+ public static final String NOTIFICATION_CHANNEL_BG_ID = "openvpn_bg";
+ public static final String NOTIFICATION_CHANNEL_NEWSTATUS_ID = "openvpn_newstat";
+ private String lastChannel;
+
private static boolean mNotificationAlwaysVisible = false;
private final Vector<String> mDnslist = new Vector<>();
private final NetworkSpace mRoutes = new NetworkSpace();
private final NetworkSpace mRoutesv6 = new NetworkSpace();
- private final IBinder mBinder = new LocalBinder();
private Thread mProcessThread = null;
private VpnProfile mProfile;
private String mDomain = null;
@@ -89,21 +94,67 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
private Handler guiHandler;
private Toast mlastToast;
private Runnable mOpenVPNThread;
+ private static Class mNotificationActivityClass;
+
+ private static final int PRIORITY_MIN = -2;
+ private static final int PRIORITY_DEFAULT = 0;
+ private static final int PRIORITY_MAX = 2;
+
+
+ private final IBinder mBinder = new IOpenVPNServiceInternal.Stub() {
+
+ @Override
+ public boolean protect(int fd) throws RemoteException {
+ return OpenVPNService.this.protect(fd);
+ }
+
+ @Override
+ public void userPause(boolean shouldbePaused) throws RemoteException {
+ OpenVPNService.this.userPause(shouldbePaused);
+ }
+
+ @Override
+ public boolean stopVPN(boolean replaceConnection) throws RemoteException {
+ return OpenVPNService.this.stopVPN(replaceConnection);
+ }
+ };
// From: http://stackoverflow.com/questions/3758606/how-to-convert-byte-size-into-human-readable-format-in-java
- public static String humanReadableByteCount(long bytes, boolean mbit) {
- if (mbit)
+ public static String humanReadableByteCount(long bytes, boolean speed, Resources res) {
+ if (speed)
bytes = bytes * 8;
- int unit = mbit ? 1000 : 1024;
- if (bytes < unit)
- return bytes + (mbit ? " bit" : " B");
-
- int exp = (int) (Math.log(bytes) / Math.log(unit));
- String pre = (mbit ? "kMGTPE" : "KMGTPE").charAt(exp - 1) + (mbit ? "" : "");
- if (mbit)
- return String.format(Locale.getDefault(), "%.1f %sbit", bytes / Math.pow(unit, exp), pre);
+ int unit = speed ? 1000 : 1024;
+
+
+ int exp = Math.max(0, Math.min((int) (Math.log(bytes) / Math.log(unit)), 3));
+
+ float bytesUnit = (float) (bytes / Math.pow(unit, exp));
+
+ if (speed)
+ switch (exp) {
+ case 0:
+ return res.getString(R.string.bits_per_second, bytesUnit);
+ case 1:
+ return res.getString(R.string.kbits_per_second, bytesUnit);
+ case 2:
+ return res.getString(R.string.mbits_per_second, bytesUnit);
+ default:
+ return res.getString(R.string.gbits_per_second, bytesUnit);
+ }
else
- return String.format(Locale.getDefault(), "%.1f %sB", bytes / Math.pow(unit, exp), pre);
+ switch (exp) {
+ case 0:
+ return res.getString(R.string.volume_byte, bytesUnit);
+ case 1:
+ return res.getString(R.string.volume_kbyte, bytesUnit);
+ case 2:
+ return res.getString(R.string.volume_mbyte, bytesUnit);
+ default:
+ return res.getString(R.string.volume_gbyte, bytesUnit);
+
+ }
+
+
}
@Override
@@ -117,7 +168,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
@Override
public void onRevoke() {
- VpnStatus.logInfo(R.string.permission_revoked);
+ VpnStatus.logError(R.string.permission_revoked);
mManagement.stopVPN(false);
endVpnService();
}
@@ -145,15 +196,19 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
}
- private void showNotification(final String msg, String tickerText, boolean lowpriority, long when, ConnectionStatus status) {
- String ns = Context.NOTIFICATION_SERVICE;
- NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
-
+ private void showNotification(final String msg, String tickerText, @NonNull String channel, long when, ConnectionStatus status) {
+ NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int icon = getIconByConnectionStatus(status);
android.app.Notification.Builder nbuilder = new Notification.Builder(this);
+ int priority;
+ if (channel.equals(NOTIFICATION_CHANNEL_BG_ID))
+ priority = PRIORITY_MIN;
+ else
+ priority = PRIORITY_DEFAULT;
+
if (mProfile != null)
nbuilder.setContentTitle(getString(R.string.notifcation_title, mProfile.mName));
else
@@ -162,9 +217,12 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
nbuilder.setContentText(msg);
nbuilder.setOnlyAlertOnce(true);
nbuilder.setOngoing(true);
- nbuilder.setContentIntent(getLogPendingIntent());
- nbuilder.setSmallIcon(icon);
+ nbuilder.setSmallIcon(icon);
+ if (status == LEVEL_WAITING_FOR_USER_INPUT)
+ nbuilder.setContentIntent(getUserInputIntent(msg));
+ else
+ nbuilder.setContentIntent(getGraphPendingIntent());
if (when != 0)
nbuilder.setWhen(when);
@@ -172,23 +230,39 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
// Try to set the priority available since API 16 (Jellybean)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
- jbNotificationExtras(lowpriority, nbuilder);
+
+ jbNotificationExtras(priority, nbuilder);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
lpNotificationExtras(nbuilder);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ //noinspection NewApi
+ nbuilder.setChannelId(channel);
+ if (mProfile != null)
+ //noinspection NewApi
+ nbuilder.setShortcutId(mProfile.getUUIDString());
+
+ }
+
if (tickerText != null && !tickerText.equals(""))
nbuilder.setTicker(tickerText);
@SuppressWarnings("deprecation")
Notification notification = nbuilder.getNotification();
+ int notificationId = channel.hashCode();
- mNotificationManager.notify(OPENVPN_STATUS, notification);
- // startForeground(OPENVPN_STATUS, notification);
+ mNotificationManager.notify(notificationId, notification);
+ startForeground(notificationId, notification);
+
+ if (lastChannel != null && !channel.equals(lastChannel)) {
+ // Cancel old notification
+ mNotificationManager.cancel(lastChannel.hashCode());
+ }
// Check if running on a TV
- if (runningOnAndroidTV() && !lowpriority)
+ if (runningOnAndroidTV() && !(priority < 0))
guiHandler.post(new Runnable() {
@Override
@@ -238,13 +312,12 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
- private void jbNotificationExtras(boolean lowpriority,
+ private void jbNotificationExtras(int priority,
android.app.Notification.Builder nbuilder) {
try {
- if (lowpriority) {
+ if (priority != 0) {
Method setpriority = nbuilder.getClass().getMethod("setPriority", int.class);
- // PRIORITY_MIN == -2
- setpriority.invoke(nbuilder, -2);
+ setpriority.invoke(nbuilder, priority);
Method setUsesChronometer = nbuilder.getClass().getMethod("setUsesChronometer", boolean.class);
setUsesChronometer.invoke(nbuilder, true);
@@ -281,9 +354,33 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
- PendingIntent getLogPendingIntent() {
+ /**
+ * Sets the activity which should be opened when tapped on the permanent notification tile.
+ *
+ * @param activityClass The activity class to open
+ */
+ public static void setNotificationActivityClass(Class<? extends Activity> activityClass) {
+ mNotificationActivityClass = activityClass;
+ }
+
+ PendingIntent getUserInputIntent(String needed) {
+ Intent intent = new Intent(getApplicationContext(), LaunchVPN.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
+ intent.putExtra("need", needed);
+ Bundle b = new Bundle();
+ b.putString("need", needed);
+ PendingIntent pIntent = PendingIntent.getActivity(this, 12, intent, 0);
+ return pIntent;
+ }
+
+ PendingIntent getGraphPendingIntent() {
// Let the configure Button show the Log
- Intent intent = new Intent(getBaseContext(), Dashboard.class);
+ Class activityClass = Dashboard.class;
+ if (mNotificationActivityClass != null) {
+ activityClass = mNotificationActivityClass;
+ }
+ Intent intent = new Intent(getBaseContext(), activityClass);
+ intent.putExtra("PAGE", "graph");
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
PendingIntent startLW = PendingIntent.getActivity(this, 0, intent, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
@@ -298,6 +395,10 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
mDeviceStateReceiver = new DeviceStateReceiver(magnagement);
+
+ // Fetch initial network state
+ mDeviceStateReceiver.networkStateChange(this);
+
registerReceiver(mDeviceStateReceiver, filter);
VpnStatus.addByteCountListener(mDeviceStateReceiver);
@@ -329,6 +430,14 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
@Override
+ public boolean stopVPN(boolean replaceConnection) throws RemoteException {
+ if (getManagement() != null)
+ return getManagement().stopVPN(replaceConnection);
+ else
+ return false;
+ }
+
+ @Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null && intent.getBooleanExtra(ALWAYS_SHOW_NOTIFICATION, false))
@@ -359,26 +468,32 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
return START_REDELIVER_INTENT;
}
- /* The intent is null when the service has been restarted */
- if (intent == null) {
- mProfile = ProfileManager.getLastConnectedProfile(this, false);
+ if (intent != null && intent.hasExtra(getPackageName() + ".profileUUID")) {
+ String profileUUID = intent.getStringExtra(getPackageName() + ".profileUUID");
+ int profileVersion = intent.getIntExtra(getPackageName() + ".profileVersion", 0);
+ // Try for 10s to get current version of the profile
+ mProfile = ProfileManager.get(this, profileUUID, profileVersion, 100);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
+ updateShortCutUsage(mProfile);
+ }
+
+ } else {
+ /* The intent is null when we are set as always-on or the service has been restarted. */
+ mProfile = ProfileManager.getLastConnectedProfile(this);
VpnStatus.logInfo(R.string.service_restarted);
/* Got no profile, just stop */
if (mProfile == null) {
- Log.d("OpenVPN", "Got no last connected profile on null intent. Stopping");
- stopSelf(startId);
- return START_NOT_STICKY;
+ Log.d("OpenVPN", "Got no last connected profile on null intent. Assuming always on.");
+ mProfile = ProfileManager.getAlwaysOnVPN(this);
+
+ if (mProfile == null) {
+ stopSelf(startId);
+ return START_NOT_STICKY;
+ }
}
/* Do the asynchronous keychain certificate stuff */
mProfile.checkForRestart(this);
-
- /* Recreate the intent */
- intent = mProfile.getStartServiceIntent(this);
-
- } else {
- String profileUUID = intent.getStringExtra(getPackageName() + ".profileUUID");
- mProfile = ProfileManager.get(this, profileUUID);
}
/* start the OpenVPN process itself in a background thread */
@@ -391,17 +506,22 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
ProfileManager.setConnectedVpnProfile(this, mProfile);
- /* TODO: At the moment we have no way to handle asynchronous PW input
- * Fixing will also allow to handle challenge/response authentication */
- if (mProfile.needUserPWInput(true) != 0)
- return START_NOT_STICKY;
+ VpnStatus.setConnectedVPNProfile(mProfile.getUUIDString());
return START_STICKY;
}
+ @RequiresApi(Build.VERSION_CODES.N_MR1)
+ private void updateShortCutUsage(VpnProfile profile) {
+ if (profile == null)
+ return;
+ ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
+ shortcutManager.reportShortcutUsed(profile.getUUIDString());
+ }
+
private void startOpenVPN() {
VpnStatus.logInfo(R.string.building_configration);
- VpnStatus.updateStateString("VPN_GENERATE_CONFIG", "", R.string.building_configration, VpnStatus.ConnectionStatus.LEVEL_START);
+ VpnStatus.updateStateString("VPN_GENERATE_CONFIG", "", R.string.building_configration, ConnectionStatus.LEVEL_START);
try {
@@ -411,12 +531,9 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
endVpnService();
return;
}
-
- // Extract information from the intent.
- String prefix = getPackageName();
String nativeLibraryDirectory = getApplicationInfo().nativeLibraryDir;
- // Also writes OpenVPN binary
+ // Write OpenVPN binary
String[] argv = VPNLaunchHelper.buildOpenvpnArgv(this);
@@ -429,7 +546,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
mStarting = false;
// Start a new session by creating a new thread.
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(this);
mOvpn3 = prefs.getBoolean("ovpn3", false);
if (!"ovpn3".equals(BuildConfig.FLAVOR))
@@ -462,8 +579,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
} else {
- HashMap<String, String> env = new HashMap<>();
- processThread = new OpenVPNThread(this, argv, env, nativeLibraryDirectory);
+ processThread = new OpenVPNThread(this, argv, nativeLibraryDirectory);
mOpenVPNThread = processThread;
}
@@ -475,21 +591,21 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
new Handler(getMainLooper()).post(new Runnable() {
- @Override
- public void run() {
- if (mDeviceStateReceiver != null)
- unregisterDeviceStateReceiver();
+ @Override
+ public void run() {
+ if (mDeviceStateReceiver != null)
+ unregisterDeviceStateReceiver();
- registerDeviceStateReceiver(mManagement);
- }
- }
+ registerDeviceStateReceiver(mManagement);
+ }
+ }
- );
+ );
}
private void stopOldOpenVPNProcess() {
if (mManagement != null) {
- if (mOpenVPNThread!=null)
+ if (mOpenVPNThread != null)
((OpenVPNThread) mOpenVPNThread).setReplaceConnection();
if (mManagement.stopVPN(true)) {
// an old was asked to exit, wait 1s
@@ -501,6 +617,10 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
}
+ forceStopOpenVpnProcess();
+ }
+
+ public void forceStopOpenVpnProcess() {
synchronized (mProcessLock) {
if (mProcessThread != null) {
mProcessThread.interrupt();
@@ -525,6 +645,16 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
@Override
+ public IBinder asBinder() {
+ return mBinder;
+ }
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ }
+
+ @Override
public void onDestroy() {
synchronized (mProcessLock) {
if (mProcessThread != null) {
@@ -538,7 +668,6 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
// Just in case unregister for state
VpnStatus.removeStateListener(this);
VpnStatus.flushLog();
-
}
private String getTunConfigString() {
@@ -636,7 +765,9 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
positiveIPv4Routes.add(dnsServer);
}
} catch (Exception e) {
- VpnStatus.logError("Error parsing DNS Server IP: " + mDnslist.get(0));
+ // If it looks like IPv6 ignore error
+ if (!mDnslist.get(0).contains(":"))
+ VpnStatus.logError("Error parsing DNS Server IP: " + mDnslist.get(0));
}
}
@@ -698,7 +829,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
mLocalIPv6 = null;
mDomain = null;
- builder.setConfigureIntent(getLogPendingIntent());
+ builder.setConfigureIntent(getGraphPendingIntent());
try {
//Debug.stopMethodTracing();
@@ -812,7 +943,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
NetworkSpace.ipAddress gatewayIP = new NetworkSpace.ipAddress(new CIDRIP(gateway, 32), false);
if (mLocalIP == null) {
- VpnStatus.logError("Local IP address unset but adding route?! This is broken! Please contact author with log");
+ VpnStatus.logError("Local IP address unset and received. Neither pushed server config nor local config specifies an IP addresses. Opening tun device is most likely going to fail.");
return;
}
NetworkSpace.ipAddress localNet = new NetworkSpace.ipAddress(mLocalIP, true);
@@ -924,7 +1055,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
if (mProcessThread == null && !mNotificationAlwaysVisible)
return;
- boolean lowpriority = false;
+ String channel = NOTIFICATION_CHANNEL_NEWSTATUS_ID;
// Display byte count only after being connected
{
@@ -936,11 +1067,7 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
mDisplayBytecount = true;
mConnecttime = System.currentTimeMillis();
if (!runningOnAndroidTV())
- lowpriority = true;
-
- String ns = Context.NOTIFICATION_SERVICE;
- NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
- mNotificationManager.cancel(OPENVPN_STATUS);
+ channel = NOTIFICATION_CHANNEL_BG_ID;
} else {
mDisplayBytecount = false;
}
@@ -949,13 +1076,16 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
// This also mean we are no longer connected, ignore bytecount messages until next
// CONNECTED
// Does not work :(
- String msg = getString(resid);
- // showNotification(VpnStatus.getLastCleanLogMessage(this),
- // msg, lowpriority, 0, level);
+ showNotification(VpnStatus.getLastCleanLogMessage(this),
+ VpnStatus.getLastCleanLogMessage(this), channel, 0, level);
}
}
+ @Override
+ public void setConnectedVPN(String uuid) {
+ }
+
private void doSendBroadcast(String state, ConnectionStatus level) {
Intent vpnstatus = new Intent();
vpnstatus.setAction("de.blinkt.openvpn.VPN_STATUS");
@@ -968,13 +1098,13 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
public void updateByteCount(long in, long out, long diffIn, long diffOut) {
if (mDisplayBytecount) {
String netstat = String.format(getString(R.string.statusline_bytecount),
- humanReadableByteCount(in, false),
- humanReadableByteCount(diffIn / OpenVPNManagement.mBytecountInterval, true),
- humanReadableByteCount(out, false),
- humanReadableByteCount(diffOut / OpenVPNManagement.mBytecountInterval, true));
+ humanReadableByteCount(in, false, getResources()),
+ humanReadableByteCount(diffIn / OpenVPNManagement.mBytecountInterval, true, getResources()),
+ humanReadableByteCount(out, false, getResources()),
+ humanReadableByteCount(diffOut / OpenVPNManagement.mBytecountInterval, true, getResources()));
- boolean lowpriority = !mNotificationAlwaysVisible;
- //showNotification(netstat, null, lowpriority, mConnecttime, LEVEL_CONNECTED);
+
+ showNotification(netstat, null, NOTIFICATION_CHANNEL_BG_ID, mConnecttime, LEVEL_CONNECTED);
}
}
@@ -1009,10 +1139,8 @@ public class OpenVPNService extends VpnService implements StateListener, Callbac
}
}
- public class LocalBinder extends Binder {
- public OpenVPNService getService() {
- // Return this instance of LocalService so clients can call public methods
- return OpenVPNService.this;
- }
+ public void requestInputFromUser(int resid, String needed) {
+ VpnStatus.updateStateString("NEED", "need " + needed, resid, LEVEL_WAITING_FOR_USER_INPUT);
+ showNotification(getString(resid), getString(resid), NOTIFICATION_CHANNEL_NEWSTATUS_ID, 0, LEVEL_WAITING_FOR_USER_INPUT);
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java
new file mode 100644
index 00000000..6df1379a
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.Build;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.Message;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteCallbackList;
+import android.os.RemoteException;
+import android.support.annotation.Nullable;
+import android.util.Pair;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.lang.ref.WeakReference;
+
+/**
+ * Created by arne on 08.11.16.
+ */
+
+public class OpenVPNStatusService extends Service implements VpnStatus.LogListener, VpnStatus.ByteCountListener, VpnStatus.StateListener {
+ @Nullable
+ @Override
+ public IBinder onBind(Intent intent) {
+ return mBinder;
+ }
+
+
+ static final RemoteCallbackList<IStatusCallbacks> mCallbacks =
+ new RemoteCallbackList<>();
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ VpnStatus.addLogListener(this);
+ VpnStatus.addByteCountListener(this);
+ VpnStatus.addStateListener(this);
+ mHandler.setService(this);
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+
+ VpnStatus.removeLogListener(this);
+ VpnStatus.removeByteCountListener(this);
+ VpnStatus.removeStateListener(this);
+ mCallbacks.kill();
+
+ }
+
+ private static final IServiceStatus.Stub mBinder = new IServiceStatus.Stub() {
+
+ @Override
+ public ParcelFileDescriptor registerStatusCallback(IStatusCallbacks cb) throws RemoteException {
+ final LogItem[] logbuffer = VpnStatus.getlogbuffer();
+ if (mLastUpdateMessage != null)
+ sendUpdate(cb, mLastUpdateMessage);
+
+ mCallbacks.register(cb);
+ try {
+ final ParcelFileDescriptor[] pipe = ParcelFileDescriptor.createPipe();
+ new Thread("pushLogs") {
+ @Override
+ public void run() {
+ DataOutputStream fd = new DataOutputStream(new ParcelFileDescriptor.AutoCloseOutputStream(pipe[1]));
+ try {
+ synchronized (VpnStatus.readFileLock) {
+ if (!VpnStatus.readFileLog) {
+ VpnStatus.readFileLock.wait();
+ }
+ }
+ } catch (InterruptedException e) {
+ VpnStatus.logException(e);
+ }
+ try {
+
+ for (LogItem logItem : logbuffer) {
+ byte[] bytes = logItem.getMarschaledBytes();
+ fd.writeShort(bytes.length);
+ fd.write(bytes);
+ }
+ // Mark end
+ fd.writeShort(0x7fff);
+ fd.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }.start();
+ return pipe[0];
+ } catch (IOException e) {
+ e.printStackTrace();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
+ throw new RemoteException(e.getMessage());
+ }
+ return null;
+ }
+ }
+
+ @Override
+ public void unregisterStatusCallback(IStatusCallbacks cb) throws RemoteException {
+ mCallbacks.unregister(cb);
+ }
+
+ @Override
+ public String getLastConnectedVPN() throws RemoteException {
+ return VpnStatus.getLastConnectedVPNProfile();
+ }
+
+ @Override
+ public void setCachedPassword(String uuid, int type, String password) {
+ PasswordCache.setCachedPassword(uuid, type, password);
+ }
+
+ @Override
+ public TrafficHistory getTrafficHistory() throws RemoteException {
+ return VpnStatus.trafficHistory;
+ }
+
+ };
+
+ @Override
+ public void newLog(LogItem logItem) {
+ Message msg = mHandler.obtainMessage(SEND_NEW_LOGITEM, logItem);
+ msg.sendToTarget();
+ }
+
+ @Override
+ public void updateByteCount(long in, long out, long diffIn, long diffOut) {
+ Message msg = mHandler.obtainMessage(SEND_NEW_BYTECOUNT, Pair.create(in, out));
+ msg.sendToTarget();
+ }
+
+ static UpdateMessage mLastUpdateMessage;
+
+ static class UpdateMessage {
+ public String state;
+ public String logmessage;
+ public ConnectionStatus level;
+ int resId;
+
+ UpdateMessage(String state, String logmessage, int resId, ConnectionStatus level) {
+ this.state = state;
+ this.resId = resId;
+ this.logmessage = logmessage;
+ this.level = level;
+ }
+ }
+
+
+ @Override
+ public void updateState(String state, String logmessage, int localizedResId, ConnectionStatus level) {
+
+ mLastUpdateMessage = new UpdateMessage(state, logmessage, localizedResId, level);
+ Message msg = mHandler.obtainMessage(SEND_NEW_STATE, mLastUpdateMessage);
+ msg.sendToTarget();
+ }
+
+ @Override
+ public void setConnectedVPN(String uuid) {
+ Message msg = mHandler.obtainMessage(SEND_NEW_CONNECTED_VPN, uuid);
+ msg.sendToTarget();
+ }
+
+ private static final OpenVPNStatusHandler mHandler = new OpenVPNStatusHandler();
+
+ private static final int SEND_NEW_LOGITEM = 100;
+ private static final int SEND_NEW_STATE = 101;
+ private static final int SEND_NEW_BYTECOUNT = 102;
+ private static final int SEND_NEW_CONNECTED_VPN = 103;
+
+ private static class OpenVPNStatusHandler extends Handler {
+ WeakReference<OpenVPNStatusService> service = null;
+
+ private void setService(OpenVPNStatusService statusService) {
+ service = new WeakReference<>(statusService);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+
+ RemoteCallbackList<IStatusCallbacks> callbacks;
+ if (service == null || service.get() == null)
+ return;
+ callbacks = service.get().mCallbacks;
+ // Broadcast to all clients the new value.
+ final int N = callbacks.beginBroadcast();
+ for (int i = 0; i < N; i++) {
+
+ try {
+ IStatusCallbacks broadcastItem = callbacks.getBroadcastItem(i);
+
+ switch (msg.what) {
+ case SEND_NEW_LOGITEM:
+ broadcastItem.newLogItem((LogItem) msg.obj);
+ break;
+ case SEND_NEW_BYTECOUNT:
+ Pair<Long, Long> inout = (Pair<Long, Long>) msg.obj;
+ broadcastItem.updateByteCount(inout.first, inout.second);
+ break;
+ case SEND_NEW_STATE:
+ sendUpdate(broadcastItem, (UpdateMessage) msg.obj);
+ break;
+
+ case SEND_NEW_CONNECTED_VPN:
+ broadcastItem.connectedVPN((String) msg.obj);
+ break;
+ }
+ } catch (RemoteException e) {
+ // The RemoteCallbackList will take care of removing
+ // the dead object for us.
+ }
+ }
+ callbacks.finishBroadcast();
+ }
+ }
+
+ private static void sendUpdate(IStatusCallbacks broadcastItem,
+ UpdateMessage um) throws RemoteException {
+ broadcastItem.updateStateString(um.state, um.logmessage, um.resId, um.level);
+ }
+} \ No newline at end of file
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java
index 7fd43906..75514930 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVPNThread.java
@@ -19,15 +19,10 @@ import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import de.blinkt.openvpn.R;
-import de.blinkt.openvpn.VpnProfile;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
-import de.blinkt.openvpn.core.VpnStatus.LogItem;
public class OpenVPNThread implements Runnable {
private static final String DUMP_PATH_STRING = "Dump path: ";
@@ -44,15 +39,13 @@ public class OpenVPNThread implements Runnable {
private String mNativeDir;
private OpenVPNService mService;
private String mDumpPath;
- private Map<String, String> mProcessEnv;
private boolean mBrokenPie = false;
private boolean mNoProcessExitStatus = false;
- public OpenVPNThread(OpenVPNService service, String[] argv, Map<String, String> processEnv, String nativelibdir) {
+ public OpenVPNThread(OpenVPNService service, String[] argv, String nativelibdir) {
mArgv = argv;
mNativeDir = nativelibdir;
mService = service;
- mProcessEnv = processEnv;
}
public void stopProcess() {
@@ -68,8 +61,8 @@ public class OpenVPNThread implements Runnable {
public void run() {
try {
Log.i(TAG, "Starting openvpn");
- startOpenVPNThreadArgs(mArgv, mProcessEnv);
- Log.i(TAG, "OpenVPN process exited");
+ startOpenVPNThreadArgs(mArgv);
+ Log.i(TAG, "OpenVPN process exited");
} catch (Exception e) {
VpnStatus.logException("Starting OpenVPN Thread", e);
Log.e(TAG, "OpenVPNThread Got " + e.toString());
@@ -94,7 +87,6 @@ public class OpenVPNThread implements Runnable {
mArgv = noPieArgv;
VpnStatus.logInfo("PIE Version could not be executed. Trying no PIE version");
run();
- return;
}
}
@@ -124,7 +116,7 @@ public class OpenVPNThread implements Runnable {
}
}
- private void startOpenVPNThreadArgs(String[] argv, Map<String, String> env) {
+ private void startOpenVPNThreadArgs(String[] argv) {
LinkedList<String> argvlist = new LinkedList<String>();
Collections.addAll(argvlist, argv);
@@ -136,10 +128,6 @@ public class OpenVPNThread implements Runnable {
pb.environment().put("LD_LIBRARY_PATH", lbpath);
- // Add extra variables
- for (Entry<String, String> e : env.entrySet()) {
- pb.environment().put(e.getKey(), e.getValue());
- }
pb.redirectErrorStream(true);
try {
mProcess = pb.start();
@@ -164,6 +152,7 @@ public class OpenVPNThread implements Runnable {
Pattern p = Pattern.compile("(\\d+).(\\d+) ([0-9a-f])+ (.*)");
Matcher m = p.matcher(logline);
+ int logerror = 0;
if (m.matches()) {
int flags = Integer.parseInt(m.group(3), 16);
String msg = m.group(4);
@@ -183,15 +172,22 @@ public class OpenVPNThread implements Runnable {
if (msg.startsWith("MANAGEMENT: CMD"))
logLevel = Math.max(4, logLevel);
+ if ((msg.endsWith("md too weak") && msg.startsWith("OpenSSL: error")) || msg.contains("error:140AB18E"))
+ logerror = 1;
VpnStatus.logMessageOpenVPN(logStatus, logLevel, msg);
+ if (logerror==1)
+ VpnStatus.logError("OpenSSL reproted a certificate with a weak hash, please the in app FAQ about weak hashes");
+
} else {
VpnStatus.logInfo("P:" + logline);
}
- }
-
- } catch (IOException e) {
+ if (Thread.interrupted()) {
+ throw new InterruptedException("OpenVpn process was killed form java code");
+ }
+ }
+ } catch (InterruptedException | IOException e) {
VpnStatus.logException("Error reading from output of OpenVPN process", e);
stopProcess();
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java b/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
index 1004ab00..58f1458b 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java
@@ -9,8 +9,10 @@ import android.content.Context;
import android.net.LocalServerSocket;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
+import android.os.Handler;
import android.os.ParcelFileDescriptor;
import android.support.annotation.NonNull;
+import android.text.TextUtils;
import android.util.Log;
import junit.framework.Assert;
@@ -31,11 +33,11 @@ import java.util.Vector;
import de.blinkt.openvpn.BuildConfig;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
private static final String TAG = "openvpn";
+ private final Handler mResumeHandler;
private LocalSocket mSocket;
private VpnProfile mProfile;
private OpenVPNService mOpenVPNService;
@@ -54,8 +56,19 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
public OpenVpnManagementThread(VpnProfile profile, OpenVPNService openVpnService) {
mProfile = profile;
mOpenVPNService = openVpnService;
+ mResumeHandler = new Handler(openVpnService.getMainLooper());
+
}
+ private Runnable mResumeHoldRunnable = new Runnable() {
+ @Override
+ public void run() {
+ if (shouldBeRunning()) {
+ releaseHoldCmd();
+ }
+ }
+ };
+
public boolean openManagementInterface(@NonNull Context c) {
// Could take a while to open connection
int tries = 8;
@@ -92,15 +105,21 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
}
- public void managmentCommand(String cmd) {
+ /**
+ * @param cmd command to write to management socket
+ * @return true if command have been sent
+ */
+ public boolean managmentCommand(String cmd) {
try {
if (mSocket != null && mSocket.getOutputStream() != null) {
mSocket.getOutputStream().write(cmd.getBytes());
mSocket.getOutputStream().flush();
+ return true;
}
} catch (IOException e) {
// Ignore socket stack traces
}
+ return false;
}
@@ -118,13 +137,20 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
// Wait for a client to connect
mSocket = mServerSocket.accept();
InputStream instream = mSocket.getInputStream();
+
+
// Close the management socket after client connected
+ try {
+ mServerSocket.close();
+ } catch (IOException e) {
+ VpnStatus.logException(e);
+ }
- mServerSocket.close();
// Closing one of the two sockets also closes the other
//mServerSocketLocal.close();
while (true) {
+
int numbytesread = instream.read(buffer);
if (numbytesread == -1)
return;
@@ -215,7 +241,7 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
processPWCommand(argument);
break;
case "HOLD":
- handleHold();
+ handleHold(argument);
break;
case "NEED-OK":
processNeedCommand(argument);
@@ -305,19 +331,26 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
return mPauseCallback.shouldBeRunning();
}
- private void handleHold() {
+ private void handleHold(String argument) {
+ mWaitingForRelease = true;
+ int waittime = Integer.parseInt(argument.split(":")[1]);
if (shouldBeRunning()) {
- releaseHoldCmd();
- } else {
- mWaitingForRelease = true;
+ if (waittime > 1)
+ VpnStatus.updateStateString("CONNECTRETRY", String.valueOf(waittime),
+ R.string.state_waitconnectretry, ConnectionStatus.LEVEL_CONNECTING_NO_SERVER_REPLY_YET);
+ mResumeHandler.postDelayed(mResumeHoldRunnable, waittime * 1000);
+ if (waittime > 5)
+ VpnStatus.logInfo(R.string.state_waitconnectretry, String.valueOf(waittime));
+ else
+ VpnStatus.logDebug(R.string.state_waitconnectretry, String.valueOf(waittime));
+ } else {
VpnStatus.updateStatePause(lastPauseReason);
-
-
}
}
private void releaseHoldCmd() {
+ mResumeHandler.removeCallbacks(mResumeHoldRunnable);
if ((System.currentTimeMillis() - mLastHoldRelease) < 5000) {
try {
Thread.sleep(3000);
@@ -402,6 +435,7 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
protectFileDescriptor(fdtoprotect);
break;
case "DNSSERVER":
+ case "DNS6SERVER":
mOpenVPNService.addDNS(extra);
break;
case "DNSDOMAIN":
@@ -529,15 +563,17 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
if (needed.equals("Private Key")) {
pw = mProfile.getPasswordPrivateKey();
} else if (needed.equals("Auth")) {
+ pw = mProfile.getPasswordAuth();
+
String usercmd = String.format("username '%s' %s\n",
needed, VpnProfile.openVpnEscape(mProfile.mUsername));
managmentCommand(usercmd);
- pw = mProfile.getPasswordAuth();
}
if (pw != null) {
String cmd = String.format("password '%s' %s\n", needed, VpnProfile.openVpnEscape(pw));
managmentCommand(cmd);
} else {
+ mOpenVPNService.requestInputFromUser(R.string.password, needed);
VpnStatus.logError(String.format("Openvpn requires Authentication type '%s' but no password/key information available", needed));
}
@@ -553,8 +589,7 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
synchronized (active) {
boolean sendCMD = false;
for (OpenVpnManagementThread mt : active) {
- mt.managmentCommand("signal SIGINT\n");
- sendCMD = true;
+ sendCMD = mt.managmentCommand("signal SIGINT\n");
try {
if (mt.mSocket != null)
mt.mSocket.close();
@@ -571,7 +606,7 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
if (mWaitingForRelease)
releaseHold();
else if (samenetwork)
- managmentCommand("network-change samenetwork\n");
+ managmentCommand("network-change\n");
else
managmentCommand("network-change\n");
}
@@ -582,6 +617,7 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
}
public void signalusr1() {
+ mResumeHandler.removeCallbacks(mResumeHoldRunnable);
if (!mWaitingForRelease)
managmentCommand("signal SIGUSR1\n");
else
@@ -624,8 +660,12 @@ public class OpenVpnManagementThread implements Runnable, OpenVPNManagement {
@Override
public boolean stopVPN(boolean replaceConnection) {
- mShuttingDown = true;
- return stopOpenVPN();
+ boolean stopSucceed = stopOpenVPN();
+ if (stopSucceed) {
+ mShuttingDown = true;
+
+ }
+ return stopSucceed;
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/PasswordCache.java b/main/src/main/java/de/blinkt/openvpn/core/PasswordCache.java
new file mode 100644
index 00000000..179a8a7b
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/PasswordCache.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import java.util.UUID;
+
+/**
+ * Created by arne on 15.12.16.
+ */
+
+public class PasswordCache {
+ public static final int PCKS12ORCERTPASSWORD = 2;
+ public static final int AUTHPASSWORD = 3;
+ private static PasswordCache mInstance;
+ final private UUID mUuid;
+ private String mKeyOrPkcs12Password;
+ private String mAuthPassword;
+
+ private PasswordCache(UUID uuid) {
+ mUuid = uuid;
+ }
+
+ public static PasswordCache getInstance(UUID uuid) {
+ if (mInstance == null || !mInstance.mUuid.equals(uuid)) {
+ mInstance = new PasswordCache(uuid);
+ }
+ return mInstance;
+ }
+
+ public static String getPKCS12orCertificatePassword(UUID uuid, boolean resetPw) {
+ String pwcopy = getInstance(uuid).mKeyOrPkcs12Password;
+ if (resetPw)
+ getInstance(uuid).mKeyOrPkcs12Password = null;
+ return pwcopy;
+ }
+
+
+ public static String getAuthPassword(UUID uuid, boolean resetPW) {
+ String pwcopy = getInstance(uuid).mAuthPassword;
+ if (resetPW)
+ getInstance(uuid).mAuthPassword = null;
+ return pwcopy;
+ }
+
+ public static void setCachedPassword(String uuid, int type, String password) {
+ PasswordCache instance = getInstance(UUID.fromString(uuid));
+ switch (type) {
+ case PCKS12ORCERTPASSWORD:
+ instance.mKeyOrPkcs12Password = password;
+ break;
+ case AUTHPASSWORD:
+ instance.mAuthPassword = password;
+ break;
+ }
+ }
+
+
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/Preferences.java b/main/src/main/java/de/blinkt/openvpn/core/Preferences.java
new file mode 100644
index 00000000..76a064ff
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/Preferences.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+/**
+ * Created by arne on 08.01.17.
+ */
+
+// Until I find a good solution
+
+public class Preferences {
+
+ static SharedPreferences getSharedPreferencesMulti(String name, Context c) {
+ return c.getSharedPreferences(name, Context.MODE_MULTI_PROCESS | Context.MODE_PRIVATE);
+
+ }
+
+
+ public static SharedPreferences getDefaultSharedPreferences(Context c) {
+ return c.getSharedPreferences(c.getPackageName() + "_preferences", Context.MODE_MULTI_PROCESS | Context.MODE_PRIVATE);
+
+ }
+
+
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java b/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
index 4f9c219b..f776fc2e 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/ProfileManager.java
@@ -9,7 +9,6 @@ import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
-import android.preference.PreferenceManager;
import java.io.IOException;
import java.io.ObjectInputStream;
@@ -17,7 +16,9 @@ import java.io.ObjectOutputStream;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Locale;
import java.util.Set;
+import java.util.UUID;
import de.blinkt.openvpn.VpnProfile;
@@ -25,6 +26,7 @@ public class ProfileManager {
private static final String PREFS_NAME = "VPNList";
private static final String LAST_CONNECTED_PROFILE = "lastConnectedProfile";
+ private static final String TEMPORARY_PROFILE_FILENAME = "temporary-vpn-profile";
private static ProfileManager instance;
private static VpnProfile mLastConnectedVpn = null;
@@ -59,30 +61,31 @@ public class ProfileManager {
}
public static void setConntectedVpnProfileDisconnected(Context c) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(c);
Editor prefsedit = prefs.edit();
prefsedit.putString(LAST_CONNECTED_PROFILE, null);
prefsedit.apply();
}
- public static void setConnectedVpnProfile(Context c, VpnProfile connectedrofile) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c);
+ /**
+ * Sets the profile that is connected (to connect if the service restarts)
+ */
+ public static void setConnectedVpnProfile(Context c, VpnProfile connectedProfile) {
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(c);
Editor prefsedit = prefs.edit();
- prefsedit.putString(LAST_CONNECTED_PROFILE, connectedrofile.getUUIDString());
+ prefsedit.putString(LAST_CONNECTED_PROFILE, connectedProfile.getUUIDString());
prefsedit.apply();
- mLastConnectedVpn = connectedrofile;
+ mLastConnectedVpn = connectedProfile;
}
- public static VpnProfile getLastConnectedProfile(Context c, boolean onBoot) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(c);
-
- boolean useStartOnBoot = prefs.getBoolean("restartvpnonboot", false);
-
- if (onBoot && !useStartOnBoot)
- return null;
+ /**
+ * Returns the profile that was last connected (to connect if the service restarts)
+ */
+ public static VpnProfile getLastConnectedProfile(Context c) {
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(c);
String lastConnectedProfile = prefs.getString(LAST_CONNECTED_PROFILE, null);
if (lastConnectedProfile != null)
@@ -106,7 +109,7 @@ public class ProfileManager {
}
public void saveProfileList(Context context) {
- SharedPreferences sharedprefs = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
+ SharedPreferences sharedprefs = Preferences.getSharedPreferencesMulti(PREFS_NAME, context);
Editor editor = sharedprefs.edit();
editor.putStringSet("vpnlist", profiles.keySet());
@@ -124,24 +127,35 @@ public class ProfileManager {
}
- public static void setTemporaryProfile(VpnProfile tmp) {
+ public static void setTemporaryProfile(Context c, VpnProfile tmp) {
ProfileManager.tmpprofile = tmp;
+ saveProfile(c, tmp, true, true);
}
- public static boolean isTempProfile()
- {
- return mLastConnectedVpn == tmpprofile;
+ public static boolean isTempProfile() {
+ return mLastConnectedVpn != null && mLastConnectedVpn == tmpprofile;
}
-
public void saveProfile(Context context, VpnProfile profile) {
- ObjectOutputStream vpnfile;
+ saveProfile(context, profile, true, false);
+ }
+
+ private static void saveProfile(Context context, VpnProfile profile, boolean updateVersion, boolean isTemporary) {
+
+ if (updateVersion)
+ profile.mVersion += 1;
+ ObjectOutputStream vpnFile;
+
+ String filename = profile.getUUID().toString() + ".vp";
+ if (isTemporary)
+ filename = TEMPORARY_PROFILE_FILENAME + ".vp";
+
try {
- vpnfile = new ObjectOutputStream(context.openFileOutput((profile.getUUID().toString() + ".vp"), Activity.MODE_PRIVATE));
+ vpnFile = new ObjectOutputStream(context.openFileOutput(filename, Activity.MODE_PRIVATE));
- vpnfile.writeObject(profile);
- vpnfile.flush();
- vpnfile.close();
+ vpnFile.writeObject(profile);
+ vpnFile.flush();
+ vpnFile.close();
} catch (IOException e) {
VpnStatus.logException("saving VPN profile", e);
throw new RuntimeException(e);
@@ -151,11 +165,13 @@ public class ProfileManager {
private void loadVPNList(Context context) {
profiles = new HashMap<>();
- SharedPreferences listpref = context.getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
+ SharedPreferences listpref = Preferences.getSharedPreferencesMulti(PREFS_NAME, context);
Set<String> vlist = listpref.getStringSet("vpnlist", null);
if (vlist == null) {
vlist = new HashSet<>();
}
+ // Always try to load the temporary profile
+ vlist.add(TEMPORARY_PROFILE_FILENAME);
for (String vpnentry : vlist) {
try {
@@ -167,10 +183,15 @@ public class ProfileManager {
continue;
vp.upgradeProfile();
- profiles.put(vp.getUUID().toString(), vp);
+ if (vpnentry.equals(TEMPORARY_PROFILE_FILENAME)) {
+ tmpprofile = vp;
+ } else {
+ profiles.put(vp.getUUID().toString(), vp);
+ }
} catch (IOException | ClassNotFoundException e) {
- VpnStatus.logException("Loading VPN List", e);
+ if (!vpnentry.equals(TEMPORARY_PROFILE_FILENAME))
+ VpnStatus.logException("Loading VPN List", e);
}
}
}
@@ -187,12 +208,49 @@ public class ProfileManager {
}
public static VpnProfile get(Context context, String profileUUID) {
+ return get(context, profileUUID, 0, 10);
+ }
+
+ public static VpnProfile get(Context context, String profileUUID, int version, int tries) {
checkInstance(context);
- return get(profileUUID);
+ VpnProfile profile = get(profileUUID);
+ int tried = 0;
+ while ((profile == null || profile.mVersion < version) && (tried++ < tries)) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException ignored) {
+ }
+ instance.loadVPNList(context);
+ profile = get(profileUUID);
+ int ver = profile == null ? -1 : profile.mVersion;
+ }
+
+ if (tried > 5)
+
+ {
+ int ver = profile == null ? -1 : profile.mVersion;
+ VpnStatus.logError(String.format(Locale.US, "Used x %d tries to get current version (%d/%d) of the profile", tried, ver, version));
+ }
+ return profile;
}
public static VpnProfile getLastConnectedVpn() {
return mLastConnectedVpn;
}
+ public static VpnProfile getAlwaysOnVPN(Context context) {
+ checkInstance(context);
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(context);
+
+ String uuid = prefs.getString("alwaysOnVpn", null);
+ return get(uuid);
+
+ }
+
+ public static void updateLRU(Context c, VpnProfile profile) {
+ profile.mLastUsed = System.currentTimeMillis();
+ // LRU does not change the profile, no need for the service to refresh
+ if (profile!=tmpprofile)
+ saveProfile(c, profile, false, false);
+ }
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/StatusListener.java b/main/src/main/java/de/blinkt/openvpn/core/StatusListener.java
new file mode 100644
index 00000000..5d0b7037
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/StatusListener.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.IBinder;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+
+import java.io.DataInputStream;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Created by arne on 09.11.16.
+ */
+
+public class StatusListener {
+ private File mCacheDir;
+ private ServiceConnection mConnection = new ServiceConnection() {
+
+
+ @Override
+ public void onServiceConnected(ComponentName className,
+ IBinder service) {
+ // We've bound to LocalService, cast the IBinder and get LocalService instance
+ IServiceStatus serviceStatus = IServiceStatus.Stub.asInterface(service);
+ try {
+ /* Check if this a local service ... */
+ if (service.queryLocalInterface("de.blinkt.openvpn.core.IServiceStatus") == null) {
+ // Not a local service
+ VpnStatus.setConnectedVPNProfile(serviceStatus.getLastConnectedVPN());
+ VpnStatus.setTrafficHistory(serviceStatus.getTrafficHistory());
+ ParcelFileDescriptor pfd = serviceStatus.registerStatusCallback(mCallback);
+ DataInputStream fd = new DataInputStream(new ParcelFileDescriptor.AutoCloseInputStream(pfd));
+
+ short len = fd.readShort();
+ byte[] buf = new byte[65336];
+ while (len != 0x7fff) {
+ fd.readFully(buf, 0, len);
+ LogItem logitem = new LogItem(buf, len);
+ VpnStatus.newLogItem(logitem, false);
+ len = fd.readShort();
+ }
+ fd.close();
+
+
+
+ } else {
+ VpnStatus.initLogCache(mCacheDir);
+ }
+
+ } catch (RemoteException | IOException e) {
+ e.printStackTrace();
+ VpnStatus.logException(e);
+ }
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName arg0) {
+
+ }
+
+ };
+
+ void init(Context c) {
+
+ Intent intent = new Intent(c, OpenVPNStatusService.class);
+ intent.setAction(OpenVPNService.START_SERVICE);
+ mCacheDir = c.getCacheDir();
+
+ c.bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
+
+
+ }
+
+
+ private IStatusCallbacks mCallback = new IStatusCallbacks.Stub()
+
+ {
+ @Override
+ public void newLogItem(LogItem item) throws RemoteException {
+ VpnStatus.newLogItem(item);
+ }
+
+ @Override
+ public void updateStateString(String state, String msg, int resid, ConnectionStatus
+ level) throws RemoteException {
+ VpnStatus.updateStateString(state, msg, resid, level);
+ }
+
+ @Override
+ public void updateByteCount(long inBytes, long outBytes) throws RemoteException {
+ VpnStatus.updateByteCount(inBytes, outBytes);
+ }
+
+ @Override
+ public void connectedVPN(String uuid) throws RemoteException {
+ VpnStatus.setConnectedVPNProfile(uuid);
+ }
+ };
+
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/TrafficHistory.java b/main/src/main/java/de/blinkt/openvpn/core/TrafficHistory.java
new file mode 100644
index 00000000..6ba35066
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/core/TrafficHistory.java
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Vector;
+
+import static java.lang.Math.max;
+
+/**
+ * Created by arne on 23.05.17.
+ */
+
+public class TrafficHistory implements Parcelable {
+
+ public static final long PERIODS_TO_KEEP = 5;
+ public static final int TIME_PERIOD_MINTUES = 60 * 1000;
+ public static final int TIME_PERIOD_HOURS = 3600 * 1000;
+ private LinkedList<TrafficDatapoint> trafficHistorySeconds = new LinkedList<>();
+ private LinkedList<TrafficDatapoint> trafficHistoryMinutes = new LinkedList<>();
+ private LinkedList<TrafficDatapoint> trafficHistoryHours = new LinkedList<>();
+
+ private TrafficDatapoint lastSecondUsedForMinute;
+ private TrafficDatapoint lastMinuteUsedForHours;
+
+ public TrafficHistory() {
+
+ }
+
+ protected TrafficHistory(Parcel in) {
+ in.readList(trafficHistorySeconds, getClass().getClassLoader());
+ in.readList(trafficHistoryMinutes, getClass().getClassLoader());
+ in.readList(trafficHistoryHours, getClass().getClassLoader());
+ lastSecondUsedForMinute = in.readParcelable(getClass().getClassLoader());
+ lastMinuteUsedForHours = in.readParcelable(getClass().getClassLoader());
+ }
+
+ public static final Creator<TrafficHistory> CREATOR = new Creator<TrafficHistory>() {
+ @Override
+ public TrafficHistory createFromParcel(Parcel in) {
+ return new TrafficHistory(in);
+ }
+
+ @Override
+ public TrafficHistory[] newArray(int size) {
+ return new TrafficHistory[size];
+ }
+ };
+
+ public LastDiff getLastDiff(TrafficDatapoint tdp) {
+
+ TrafficDatapoint lasttdp;
+
+
+ if (trafficHistorySeconds.size() == 0)
+ lasttdp = new TrafficDatapoint(0, 0, System.currentTimeMillis());
+
+ else
+ lasttdp = trafficHistorySeconds.getLast();
+
+ if (tdp == null) {
+ tdp = lasttdp;
+ if (trafficHistorySeconds.size() < 2)
+ lasttdp = tdp;
+ else {
+ trafficHistorySeconds.descendingIterator().next();
+ tdp = trafficHistorySeconds.descendingIterator().next();
+ }
+ }
+
+ return new LastDiff(lasttdp, tdp);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeList(trafficHistorySeconds);
+ dest.writeList(trafficHistoryMinutes);
+ dest.writeList(trafficHistoryHours);
+ dest.writeParcelable(lastSecondUsedForMinute, 0);
+ dest.writeParcelable(lastMinuteUsedForHours, 0);
+
+ }
+
+ public LinkedList<TrafficDatapoint> getHours() {
+ return trafficHistoryHours;
+ }
+
+ public LinkedList<TrafficDatapoint> getMinutes() {
+ return trafficHistoryMinutes;
+ }
+
+ public LinkedList<TrafficDatapoint> getSeconds() {
+ return trafficHistorySeconds;
+ }
+
+ public static LinkedList<TrafficDatapoint> getDummyList() {
+ LinkedList<TrafficDatapoint> list = new LinkedList<>();
+ list.add(new TrafficDatapoint(0, 0, System.currentTimeMillis()));
+ return list;
+ }
+
+
+ public static class TrafficDatapoint implements Parcelable {
+ private TrafficDatapoint(long inBytes, long outBytes, long timestamp) {
+ this.in = inBytes;
+ this.out = outBytes;
+ this.timestamp = timestamp;
+ }
+
+ public final long timestamp;
+ public final long in;
+ public final long out;
+
+ private TrafficDatapoint(Parcel in) {
+ timestamp = in.readLong();
+ this.in = in.readLong();
+ out = in.readLong();
+ }
+
+ public static final Creator<TrafficDatapoint> CREATOR = new Creator<TrafficDatapoint>() {
+ @Override
+ public TrafficDatapoint createFromParcel(Parcel in) {
+ return new TrafficDatapoint(in);
+ }
+
+ @Override
+ public TrafficDatapoint[] newArray(int size) {
+ return new TrafficDatapoint[size];
+ }
+ };
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeLong(timestamp);
+ dest.writeLong(in);
+ dest.writeLong(out);
+ }
+ }
+
+ LastDiff add(long in, long out) {
+ TrafficDatapoint tdp = new TrafficDatapoint(in, out, System.currentTimeMillis());
+
+ LastDiff diff = getLastDiff(tdp);
+ addDataPoint(tdp);
+ return diff;
+ }
+
+ private void addDataPoint(TrafficDatapoint tdp) {
+ trafficHistorySeconds.add(tdp);
+
+ if (lastSecondUsedForMinute == null) {
+ lastSecondUsedForMinute = new TrafficDatapoint(0, 0, 0);
+ lastMinuteUsedForHours = new TrafficDatapoint(0, 0, 0);
+ }
+
+ removeAndAverage(tdp, true);
+ }
+
+ private void removeAndAverage(TrafficDatapoint newTdp, boolean seconds) {
+ HashSet<TrafficDatapoint> toRemove = new HashSet<>();
+ Vector<TrafficDatapoint> toAverage = new Vector<>();
+
+ long timePeriod;
+ LinkedList<TrafficDatapoint> tpList, nextList;
+ TrafficDatapoint lastTsPeriod;
+
+ if (seconds) {
+ timePeriod = TIME_PERIOD_MINTUES;
+ tpList = trafficHistorySeconds;
+ nextList = trafficHistoryMinutes;
+ lastTsPeriod = lastSecondUsedForMinute;
+ } else {
+ timePeriod = TIME_PERIOD_HOURS;
+ tpList = trafficHistoryMinutes;
+ nextList = trafficHistoryHours;
+ lastTsPeriod = lastMinuteUsedForHours;
+ }
+
+ if (newTdp.timestamp / timePeriod > (lastTsPeriod.timestamp / timePeriod)) {
+ nextList.add(newTdp);
+
+ if (seconds) {
+ lastSecondUsedForMinute = newTdp;
+ removeAndAverage(newTdp, false);
+ } else
+ lastMinuteUsedForHours = newTdp;
+
+ for (TrafficDatapoint tph : tpList) {
+ // List is iteratered from oldest to newest, remembert first one that we did not
+ if ((newTdp.timestamp - tph.timestamp) / timePeriod >= PERIODS_TO_KEEP)
+ toRemove.add(tph);
+ }
+ tpList.removeAll(toRemove);
+ }
+ }
+
+ static class LastDiff {
+
+ final private TrafficDatapoint tdp;
+ final private TrafficDatapoint lasttdp;
+
+ private LastDiff(TrafficDatapoint lasttdp, TrafficDatapoint tdp) {
+ this.lasttdp = lasttdp;
+ this.tdp = tdp;
+ }
+
+ public long getDiffOut() {
+ return max(0, tdp.out - lasttdp.out);
+ }
+
+ public long getDiffIn() {
+ return max(0, tdp.in - lasttdp.in);
+ }
+
+ public long getIn() {
+ return tdp.in;
+ }
+
+ public long getOut() {
+ return tdp.out;
+ }
+
+ }
+
+
+} \ No newline at end of file
diff --git a/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java b/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
index 564ee1a4..0759ce65 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/VPNLaunchHelper.java
@@ -6,6 +6,7 @@
package de.blinkt.openvpn.core;
import android.annotation.TargetApi;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
@@ -26,7 +27,6 @@ public class VPNLaunchHelper {
private static final String OVPNCONFIGFILE = "android.conf";
-
private static String writeMiniVPN(Context context) {
String[] abis;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
@@ -38,36 +38,34 @@ public class VPNLaunchHelper {
String nativeAPI = NativeUtils.getNativeAPI();
if (!nativeAPI.equals(abis[0])) {
VpnStatus.logWarning(R.string.abi_mismatch, Arrays.toString(abis), nativeAPI);
- abis = new String[] {nativeAPI};
+ abis = new String[]{nativeAPI};
}
- for (String abi: abis) {
+ for (String abi : abis) {
- File vpnExecutable = new File(context.getCacheDir(), getMiniVPNExecutableName() + "." + abi);
+ File vpnExecutable = new File(context.getCacheDir(), "c_" + getMiniVPNExecutableName() + "." + abi);
if ((vpnExecutable.exists() && vpnExecutable.canExecute()) || writeMiniVPNBinary(context, abi, vpnExecutable)) {
return vpnExecutable.getPath();
}
}
return null;
- }
+ }
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static String[] getSupportedABIsLollipop() {
return Build.SUPPORTED_ABIS;
}
- private static String getMiniVPNExecutableName()
- {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
+ private static String getMiniVPNExecutableName() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
return MINIPIEVPN;
else
return MININONPIEVPN;
}
- public static String[] replacePieWithNoPie(String[] mArgv)
- {
+ public static String[] replacePieWithNoPie(String[] mArgv) {
mArgv[0] = mArgv[0].replace(MINIPIEVPN, MININONPIEVPN);
return mArgv;
}
@@ -79,7 +77,7 @@ public class VPNLaunchHelper {
String binaryName = writeMiniVPN(c);
// Add fixed paramenters
//args.add("/data/data/de.blinkt.openvpn/lib/openvpn");
- if(binaryName==null) {
+ if (binaryName == null) {
VpnStatus.logError("Error writing minivpn binary");
return null;
}
@@ -98,8 +96,7 @@ public class VPNLaunchHelper {
try {
mvpn = context.getAssets().open(getMiniVPNExecutableName() + "." + abi);
- }
- catch (IOException errabi) {
+ } catch (IOException errabi) {
VpnStatus.logInfo("Failed getting assets for archicture " + abi);
return false;
}
@@ -107,16 +104,16 @@ public class VPNLaunchHelper {
FileOutputStream fout = new FileOutputStream(mvpnout);
- byte buf[]= new byte[4096];
+ byte buf[] = new byte[4096];
int lenread = mvpn.read(buf);
- while(lenread> 0) {
+ while (lenread > 0) {
fout.write(buf, 0, lenread);
lenread = mvpn.read(buf);
}
fout.close();
- if(!mvpnout.setExecutable(true)) {
+ if (!mvpnout.setExecutable(true)) {
VpnStatus.logError("Failed to make OpenVPN executable");
return false;
}
@@ -129,14 +126,20 @@ public class VPNLaunchHelper {
}
}
-
- public static void startOpenVpn(VpnProfile startprofile, Context context) {
- Intent startVPN = startprofile.prepareStartService(context);
- if(startVPN!=null)
- context.startService(startVPN);
- }
+ public static void startOpenVpn(VpnProfile startprofile, Context context) {
+ Intent startVPN = startprofile.prepareStartService(context);
+ if (startVPN != null) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
+ //noinspection NewApi
+ context.startForegroundService(startVPN);
+ else
+ context.startService(startVPN);
+
+ }
+ }
+
public static String getConfigFilePath(Context context) {
return context.getCacheDir().getAbsolutePath() + "/" + OVPNCONFIGFILE;
diff --git a/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java b/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
index 29bef6de..3adf7c88 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/VpnStatus.java
@@ -5,45 +5,27 @@
package de.blinkt.openvpn.core;
-import android.annotation.SuppressLint;
import android.content.Context;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.Signature;
import android.os.Build;
import android.os.HandlerThread;
import android.os.Message;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.text.TextUtils;
-import android.util.Log;
-import java.io.ByteArrayInputStream;
-import java.io.DataOutputStream;
import java.io.File;
-import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.util.Arrays;
-import java.util.FormatFlagsConversionMismatchException;
import java.util.LinkedList;
import java.util.Locale;
-import java.util.UnknownFormatConversionException;
+import java.util.Queue;
import java.util.Vector;
+import java.util.concurrent.ConcurrentLinkedQueue;
-import de.blinkt.openvpn.BuildConfig;
import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.VpnProfile;
public class VpnStatus {
- public static LinkedList<LogItem> logbuffer;
+ private static final LinkedList<LogItem> logbuffer;
private static Vector<LogListener> logListener;
private static Vector<StateListener> stateListener;
@@ -55,7 +37,14 @@ public class VpnStatus {
private static int mLastStateresid = R.string.state_noprocess;
- private static long mlastByteCount[] = {0, 0, 0, 0};
+ private static HandlerThread mHandlerThread;
+
+ private static String mLastConnectedVPNUUID;
+ static boolean readFileLog =false;
+ final static java.lang.Object readFileLock = new Object();
+
+
+ public static TrafficHistory trafficHistory;
public static void logException(LogLevel ll, String context, Exception e) {
StringWriter sw = new StringWriter();
@@ -79,6 +68,9 @@ public class VpnStatus {
static final int MAXLOGENTRIES = 1000;
+ public static boolean isVPNActive() {
+ return mLastLevel != ConnectionStatus.LEVEL_AUTH_FAILED && !(mLastLevel == ConnectionStatus.LEVEL_NOTCONNECTED);
+ }
public static String getLastCleanLogMessage(Context c) {
String message = mLaststatemsg;
@@ -111,6 +103,10 @@ public class VpnStatus {
if (status.equals("NOPROCESS"))
return message;
+ if (mLastStateresid == R.string.state_waitconnectretry) {
+ return c.getString(R.string.state_waitconnectretry, mLaststatemsg);
+ }
+
String prefix = c.getString(mLastStateresid);
if (mLastStateresid == R.string.unknown_state)
message = status + message;
@@ -122,28 +118,38 @@ public class VpnStatus {
}
public static void initLogCache(File cacheDir) {
+ mHandlerThread = new HandlerThread("LogFileWriter", Thread.MIN_PRIORITY);
+ mHandlerThread.start();
+ mLogFileHandler = new LogFileHandler(mHandlerThread.getLooper());
+
+
Message m = mLogFileHandler.obtainMessage(LogFileHandler.LOG_INIT, cacheDir);
mLogFileHandler.sendMessage(m);
}
public static void flushLog() {
- mLogFileHandler.sendEmptyMessage(LogFileHandler.FLUSH_TO_DISK);
+ if (mLogFileHandler!=null)
+ mLogFileHandler.sendEmptyMessage(LogFileHandler.FLUSH_TO_DISK);
}
- public enum ConnectionStatus {
- LEVEL_CONNECTED,
- LEVEL_VPNPAUSED,
- LEVEL_CONNECTING_SERVER_REPLIED,
- LEVEL_CONNECTING_NO_SERVER_REPLY_YET,
- LEVEL_NONETWORK,
- LEVEL_NOTCONNECTED,
- LEVEL_START,
- LEVEL_AUTH_FAILED,
- LEVEL_WAITING_FOR_USER_INPUT,
- UNKNOWN_LEVEL
+ public static void setConnectedVPNProfile(String uuid) {
+ mLastConnectedVPNUUID = uuid;
+ for (StateListener sl: stateListener)
+ sl.setConnectedVPN(uuid);
}
+
+ public static String getLastConnectedVPNProfile()
+ {
+ return mLastConnectedVPNUUID;
+ }
+
+ public static void setTrafficHistory(TrafficHistory trafficHistory) {
+ VpnStatus.trafficHistory = trafficHistory;
+ }
+
+
public enum LogLevel {
INFO(2),
ERROR(-2),
@@ -163,14 +169,17 @@ public class VpnStatus {
public static LogLevel getEnumByValue(int value) {
switch (value) {
- case 1:
- return INFO;
case 2:
+ return INFO;
+ case -2:
return ERROR;
- case 3:
+ case 1:
return WARNING;
+ case 3:
+ return VERBOSE;
case 4:
return DEBUG;
+
default:
return null;
}
@@ -178,218 +187,36 @@ public class VpnStatus {
}
// keytool -printcert -jarfile de.blinkt.openvpn_85.apk
- public static final byte[] officalkey = {-58, -42, -44, -106, 90, -88, -87, -88, -52, -124, 84, 117, 66, 79, -112, -111, -46, 86, -37, 109};
- public static final byte[] officaldebugkey = {-99, -69, 45, 71, 114, -116, 82, 66, -99, -122, 50, -70, -56, -111, 98, -35, -65, 105, 82, 43};
- public static final byte[] amazonkey = {-116, -115, -118, -89, -116, -112, 120, 55, 79, -8, -119, -23, 106, -114, -85, -56, -4, 105, 26, -57};
- public static final byte[] fdroidkey = {-92, 111, -42, -46, 123, -96, -60, 79, -27, -31, 49, 103, 11, -54, -68, -27, 17, 2, 121, 104};
+ static final byte[] officalkey = {-58, -42, -44, -106, 90, -88, -87, -88, -52, -124, 84, 117, 66, 79, -112, -111, -46, 86, -37, 109};
+ static final byte[] officaldebugkey = {-99, -69, 45, 71, 114, -116, 82, 66, -99, -122, 50, -70, -56, -111, 98, -35, -65, 105, 82, 43};
+ static final byte[] amazonkey = {-116, -115, -118, -89, -116, -112, 120, 55, 79, -8, -119, -23, 106, -114, -85, -56, -4, 105, 26, -57};
+ static final byte[] fdroidkey = {-92, 111, -42, -46, 123, -96, -60, 79, -27, -31, 49, 103, 11, -54, -68, -27, 17, 2, 121, 104};
private static ConnectionStatus mLastLevel = ConnectionStatus.LEVEL_NOTCONNECTED;
- private static final LogFileHandler mLogFileHandler;
+ private static LogFileHandler mLogFileHandler;
static {
logbuffer = new LinkedList<>();
logListener = new Vector<>();
stateListener = new Vector<>();
byteCountListener = new Vector<>();
-
- HandlerThread mHandlerThread = new HandlerThread("LogFileWriter", Thread.MIN_PRIORITY);
- mHandlerThread.start();
- mLogFileHandler = new LogFileHandler(mHandlerThread.getLooper());
+ trafficHistory = new TrafficHistory();
logInformation();
}
- public static class LogItem implements Parcelable {
- private Object[] mArgs = null;
- private String mMessage = null;
- private int mRessourceId;
- // Default log priority
- LogLevel mLevel = LogLevel.INFO;
- private long logtime = System.currentTimeMillis();
- private int mVerbosityLevel = -1;
-
- private LogItem(int ressourceId, Object[] args) {
- mRessourceId = ressourceId;
- mArgs = args;
- }
-
- public LogItem(LogLevel level, int verblevel, String message) {
- mMessage = message;
- mLevel = level;
- mVerbosityLevel = verblevel;
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
-
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeArray(mArgs);
- dest.writeString(mMessage);
- dest.writeInt(mRessourceId);
- dest.writeInt(mLevel.getInt());
- dest.writeInt(mVerbosityLevel);
-
- dest.writeLong(logtime);
- }
-
- public LogItem(Parcel in) {
- mArgs = in.readArray(Object.class.getClassLoader());
- mMessage = in.readString();
- mRessourceId = in.readInt();
- mLevel = LogLevel.getEnumByValue(in.readInt());
- mVerbosityLevel = in.readInt();
- logtime = in.readLong();
- }
-
- public static final Parcelable.Creator<LogItem> CREATOR
- = new Parcelable.Creator<LogItem>() {
- public LogItem createFromParcel(Parcel in) {
- return new LogItem(in);
- }
-
- public LogItem[] newArray(int size) {
- return new LogItem[size];
- }
- };
-
- public LogItem(LogLevel loglevel, int ressourceId, Object... args) {
- mRessourceId = ressourceId;
- mArgs = args;
- mLevel = loglevel;
- }
-
-
- public LogItem(LogLevel loglevel, String msg) {
- mLevel = loglevel;
- mMessage = msg;
- }
-
-
- public LogItem(LogLevel loglevel, int ressourceId) {
- mRessourceId = ressourceId;
- mLevel = loglevel;
- }
-
- public String getString(Context c) {
- try {
- if (mMessage != null) {
- return mMessage;
- } else {
- if (c != null) {
- if (mRessourceId == R.string.mobile_info)
- return getMobileInfoString(c);
- if (mArgs == null)
- return c.getString(mRessourceId);
- else
- return c.getString(mRessourceId, mArgs);
- } else {
- String str = String.format(Locale.ENGLISH, "Log (no context) resid %d", mRessourceId);
- if (mArgs != null)
- str += TextUtils.join("|", mArgs);
-
- return str;
- }
- }
- } catch (UnknownFormatConversionException e) {
- if (c != null)
- throw new UnknownFormatConversionException(e.getLocalizedMessage() + getString(null));
- else
- throw e;
- } catch (java.util.FormatFlagsConversionMismatchException e) {
- if (c != null)
- throw new FormatFlagsConversionMismatchException(e.getLocalizedMessage() + getString(null), e.getConversion());
- else
- throw e;
- }
-
- }
-
- public LogLevel getLogLevel() {
- return mLevel;
- }
-
- // The lint is wrong here
- @SuppressLint("StringFormatMatches")
- private String getMobileInfoString(Context c) {
- c.getPackageManager();
- String apksign = "error getting package signature";
-
- String version = "error getting version";
- try {
- @SuppressLint("PackageManagerGetSignatures")
- Signature raw = c.getPackageManager().getPackageInfo(c.getPackageName(), PackageManager.GET_SIGNATURES).signatures[0];
- CertificateFactory cf = CertificateFactory.getInstance("X.509");
- X509Certificate cert = (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(raw.toByteArray()));
- MessageDigest md = MessageDigest.getInstance("SHA-1");
- byte[] der = cert.getEncoded();
- md.update(der);
- byte[] digest = md.digest();
-
- if (Arrays.equals(digest, officalkey))
- apksign = c.getString(R.string.official_build);
- else if (Arrays.equals(digest, officaldebugkey))
- apksign = c.getString(R.string.debug_build);
- else if (Arrays.equals(digest, amazonkey))
- apksign = "amazon version";
- else if (Arrays.equals(digest, fdroidkey))
- apksign = "F-Droid built and signed version";
- else
- apksign = c.getString(R.string.built_by, cert.getSubjectX500Principal().getName());
-
- PackageInfo packageinfo = c.getPackageManager().getPackageInfo(c.getPackageName(), 0);
- version = packageinfo.versionName;
-
- } catch (NameNotFoundException | CertificateException |
- NoSuchAlgorithmException ignored) {
- }
-
- Object[] argsext = Arrays.copyOf(mArgs, mArgs.length);
- argsext[argsext.length - 1] = apksign;
- argsext[argsext.length - 2] = version;
-
- return c.getString(R.string.mobile_info, argsext);
-
- }
-
- public long getLogtime() {
- return logtime;
- }
-
-
- public int getVerbosityLevel() {
- if (mVerbosityLevel == -1) {
- // Hack:
- // For message not from OpenVPN, report the status level as log level
- return mLevel.getInt();
- }
- return mVerbosityLevel;
- }
-
- public boolean verify() {
- if (mLevel == null)
- return false;
-
- if (mMessage == null && mRessourceId == 0)
- return false;
-
- return true;
- }
- }
-
public interface LogListener {
void newLog(LogItem logItem);
}
public interface StateListener {
void updateState(String state, String logmessage, int localizedResId, ConnectionStatus level);
+
+ void setConnectedVPN(String uuid);
}
public interface ByteCountListener {
@@ -404,12 +231,20 @@ public class VpnStatus {
public synchronized static void clearLog() {
logbuffer.clear();
logInformation();
- mLogFileHandler.sendEmptyMessage(LogFileHandler.TRIM_LOG_FILE);
+ if (mLogFileHandler != null)
+ mLogFileHandler.sendEmptyMessage(LogFileHandler.TRIM_LOG_FILE);
}
private static void logInformation() {
+ String nativeAPI;
+ try {
+ nativeAPI = NativeUtils.getNativeAPI();
+ } catch (UnsatisfiedLinkError ignore) {
+ nativeAPI = "error";
+ }
+
logInfo(R.string.mobile_info, Build.MODEL, Build.BOARD, Build.BRAND, Build.VERSION.SDK_INT,
- NativeUtils.getNativeAPI(), Build.VERSION.RELEASE, Build.ID, Build.FINGERPRINT, "", "");
+ nativeAPI, Build.VERSION.RELEASE, Build.ID, Build.FINGERPRINT, "", "");
}
public synchronized static void addLogListener(LogListener ll) {
@@ -421,7 +256,8 @@ public class VpnStatus {
}
public synchronized static void addByteCountListener(ByteCountListener bcl) {
- bcl.updateByteCount(mlastByteCount[0], mlastByteCount[1], mlastByteCount[2], mlastByteCount[3]);
+ TrafficHistory.LastDiff diff = trafficHistory.getLastDiff(null);
+ bcl.updateByteCount(diff.getIn(), diff.getOut(), diff.getDiffIn(),diff.getDiffOut());
byteCountListener.add(bcl);
}
@@ -525,7 +361,7 @@ public class VpnStatus {
}
- public static void updateStateString(String state, String msg) {
+ static void updateStateString(String state, String msg) {
int rid = getLocalizedState(state);
ConnectionStatus level = getLevel(state);
updateStateString(state, msg, rid, level);
@@ -549,7 +385,7 @@ public class VpnStatus {
for (StateListener sl : stateListener) {
sl.updateState(state, msg, resid, level);
}
- //newLogItem(new LogItem((LogLevel.DEBUG), String.format("New OpenVPN Status (%s->%s): %s",state,level.toString(),msg)));
+ newLogItem(new LogItem((LogLevel.DEBUG), String.format("New OpenVPN Status (%s->%s): %s",state,level.toString(),msg)));
}
public static void logInfo(String message) {
@@ -568,7 +404,7 @@ public class VpnStatus {
newLogItem(new LogItem(LogLevel.DEBUG, resourceId, args));
}
- private static void newLogItem(LogItem logItem) {
+ static void newLogItem(LogItem logItem) {
newLogItem(logItem, false);
}
@@ -578,18 +414,21 @@ public class VpnStatus {
logbuffer.addFirst(logItem);
} else {
logbuffer.addLast(logItem);
- Message m = mLogFileHandler.obtainMessage(LogFileHandler.LOG_MESSAGE, logItem);
- mLogFileHandler.sendMessage(m);
+ if (mLogFileHandler != null) {
+ Message m = mLogFileHandler.obtainMessage(LogFileHandler.LOG_MESSAGE, logItem);
+ mLogFileHandler.sendMessage(m);
+ }
}
if (logbuffer.size() > MAXLOGENTRIES + MAXLOGENTRIES / 2) {
while (logbuffer.size() > MAXLOGENTRIES)
logbuffer.removeFirst();
- mLogFileHandler.sendMessage(mLogFileHandler.obtainMessage(LogFileHandler.TRIM_LOG_FILE));
+ if (mLogFileHandler != null)
+ mLogFileHandler.sendMessage(mLogFileHandler.obtainMessage(LogFileHandler.TRIM_LOG_FILE));
}
- if (BuildConfig.DEBUG && !cachedLine)
- Log.d("OpenVPN", logItem.getString(null));
+ //if (BuildConfig.DEBUG && !cachedLine && !BuildConfig.FLAVOR.equals("test"))
+ // Log.d("OpenVPN", logItem.getString(null));
for (LogListener ll : logListener) {
@@ -627,17 +466,10 @@ public class VpnStatus {
public static synchronized void updateByteCount(long in, long out) {
- long lastIn = mlastByteCount[0];
- long lastOut = mlastByteCount[1];
- long diffIn = mlastByteCount[2] = Math.max(0, in - lastIn);
- long diffOut = mlastByteCount[3] = Math.max(0, out - lastOut);
-
+ TrafficHistory.LastDiff diff = trafficHistory.add(in, out);
- mlastByteCount = new long[]{in, out, diffIn, diffOut};
for (ByteCountListener bcl : byteCountListener) {
- bcl.updateByteCount(in, out, diffIn, diffOut);
+ bcl.updateByteCount(in, out, diff.getDiffIn(), diff.getDiffOut());
}
}
-
-
}
diff --git a/main/src/main/java/de/blinkt/openvpn/core/X509Utils.java b/main/src/main/java/de/blinkt/openvpn/core/X509Utils.java
index 0eaa36d7..4c8a226b 100644
--- a/main/src/main/java/de/blinkt/openvpn/core/X509Utils.java
+++ b/main/src/main/java/de/blinkt/openvpn/core/X509Utils.java
@@ -5,6 +5,7 @@
package de.blinkt.openvpn.core;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.text.TextUtils;
@@ -106,14 +107,14 @@ public class X509Utils {
// More than 3 months display months
if (timeLeft > 90l* 24 * 3600 * 1000) {
long months = getMonthsDifference(now, certNotAfter);
- return res.getString(R.string.months_left, months);
+ return res.getQuantityString(R.plurals.months_left, (int) months, months);
} else if (timeLeft > 72 * 3600 * 1000) {
long days = timeLeft / (24 * 3600 * 1000);
- return res.getString(R.string.days_left, days);
+ return res.getQuantityString(R.plurals.days_left, (int) days, days);
} else {
long hours = timeLeft / (3600 * 1000);
- return res.getString(R.string.hours_left, hours);
+ return res.getQuantityString(R.plurals.hours_left, (int)hours, hours);
}
}
@@ -131,7 +132,7 @@ public class X509Utils {
/* Hack so we do not have to ship a whole Spongy/bouncycastle */
Exception exp=null;
try {
- Class X509NameClass = Class.forName("com.android.org.bouncycastle.asn1.x509.X509Name");
+ @SuppressLint("PrivateApi") Class X509NameClass = Class.forName("com.android.org.bouncycastle.asn1.x509.X509Name");
Method getInstance = X509NameClass.getMethod("getInstance",Object.class);
Hashtable defaultSymbols = (Hashtable) X509NameClass.getField("DefaultSymbols").get(X509NameClass);
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java
index d270fb2e..98fc7c9a 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/AboutFragment.java
@@ -16,7 +16,6 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
-import android.text.Html;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
@@ -54,7 +53,7 @@ public class AboutFragment extends Fragment implements View.OnClickListener {
private static final String[] donationSkus = { "donation1eur", "donation2eur", "donation5eur", "donation10eur",
"donation1337eur","donation23eur","donation25eur",};
IInAppBillingService mService;
- Hashtable<View, String> viewToProduct = new Hashtable<View, String>();
+ Hashtable<View, String> viewToProduct = new Hashtable<>();
ServiceConnection mServiceConn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
@@ -272,12 +271,8 @@ public class AboutFragment extends Fragment implements View.OnClickListener {
ver.setText(getString(R.string.version_info, name, version));
- TextView paypal = (TextView) v.findViewById(R.id.donatestring);
- String donatetext = getActivity().getString(R.string.donatewithpaypal);
- Spanned htmltext = Html.fromHtml(donatetext);
- paypal.setText(htmltext);
- paypal.setMovementMethod(LinkMovementMethod.getInstance());
+
gmsTextView = (TextView) v.findViewById(R.id.donategms);
/* recreating view without onCreate/onDestroy cycle */
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java b/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
index d9706f2e..af071d37 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/ConnectionsAdapter.java
@@ -37,14 +37,14 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
private static final int TYPE_NORMAL = 0;
private static final int TYPE_FOOTER = TYPE_NORMAL + 1;
- public ConnectionsAdapter(Context c, Settings_Connections connections_fragments, VpnProfile vpnProfile) {
+ ConnectionsAdapter(Context c, Settings_Connections connections_fragments, VpnProfile vpnProfile) {
mContext = c;
mConnections = vpnProfile.mConnections;
mProfile = vpnProfile;
mConnectionFragment = connections_fragments;
}
- public static class ConnectionsHolder extends RecyclerView.ViewHolder {
+ class ConnectionsHolder extends RecyclerView.ViewHolder {
private final EditText mServerNameView;
private final EditText mPortNumberView;
private final Switch mRemoteSwitch;
@@ -56,9 +56,10 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
private final EditText mConnectText;
private final SeekBar mConnectSlider;
private final ConnectionsAdapter mConnectionsAdapter;
- private Connection mConnection;
+ private Connection mConnection; // Set to null on update
- public ConnectionsHolder(View card, ConnectionsAdapter connectionsAdapter) {
+
+ ConnectionsHolder(View card, ConnectionsAdapter connectionsAdapter, int viewType) {
super(card);
mServerNameView = (EditText) card.findViewById(R.id.servername);
mPortNumberView = (EditText) card.findViewById(R.id.portnumber);
@@ -73,44 +74,59 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
mConnectionsAdapter = connectionsAdapter;
-
- /* This is totally weird */
- if (mRemoteSwitch!=null)
+ if (viewType == TYPE_NORMAL)
addListeners();
}
- public void addListeners() {
+
+ void addListeners() {
mRemoteSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- mConnection.mEnabled = isChecked;
- mConnectionsAdapter.displayWarningIfNoneEnabled();
+ if (mConnection != null) {
+ mConnection.mEnabled = isChecked;
+ mConnectionsAdapter.displayWarningIfNoneEnabled();
+ }
}
});
mProtoGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
- if (checkedId == R.id.udp_proto)
- mConnection.mUseUdp = true;
- else if (checkedId == R.id.tcp_proto)
- mConnection.mUseUdp = false;
+ if (mConnection != null) {
+ if (checkedId == R.id.udp_proto)
+ mConnection.mUseUdp = true;
+ else if (checkedId == R.id.tcp_proto)
+ mConnection.mUseUdp = false;
+ }
}
});
+
+ mCustomOptionText.addTextChangedListener(new OnTextChangedWatcher() {
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (mConnection != null)
+ mConnection.mCustomConfiguration = s.toString();
+ }
+ });
+
mCustomOptionCB.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- mConnection.mUseCustomConfig = isChecked;
- mCustomOptionsLayout.setVisibility(mConnection.mUseCustomConfig ? View.VISIBLE : View.GONE);
+ if (mConnection != null) {
+ mConnection.mUseCustomConfig = isChecked;
+ mCustomOptionsLayout.setVisibility(mConnection.mUseCustomConfig ? View.VISIBLE : View.GONE);
+ }
}
});
-
mServerNameView.addTextChangedListener(new OnTextChangedWatcher() {
@Override
public void afterTextChanged(Editable s) {
- mConnection.mServerName = s.toString();
+ if (mConnection != null) {
+ mConnection.mServerName = s.toString();
+ }
}
});
@@ -118,21 +134,25 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
mPortNumberView.addTextChangedListener(new OnTextChangedWatcher() {
@Override
public void afterTextChanged(Editable s) {
- mConnection.mServerPort = s.toString();
+ if (mConnection != null) {
+ mConnection.mServerPort = s.toString();
+ }
}
});
mCustomOptionText.addTextChangedListener(new OnTextChangedWatcher() {
@Override
public void afterTextChanged(Editable s) {
- mConnection.mCustomConfiguration = s.toString();
+ if (mConnection != null) {
+ mConnection.mCustomConfiguration = s.toString();
+ }
}
});
mConnectSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (fromUser) {
+ if (fromUser && mConnection != null) {
mConnectText.setText(String.valueOf(progress));
mConnection.mConnectTimeout = progress;
}
@@ -151,18 +171,40 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
mConnectText.addTextChangedListener(new OnTextChangedWatcher() {
@Override
public void afterTextChanged(Editable s) {
- try {
- int t = Integer.valueOf(String.valueOf(s));
- mConnectSlider.setProgress(t);
- mConnection.mConnectTimeout = t;
- } catch (Exception ignored) {
-
+ if (mConnection != null) {
+ try {
+ int t = Integer.valueOf(String.valueOf(s));
+ mConnectSlider.setProgress(t);
+ mConnection.mConnectTimeout = t;
+ } catch (Exception ignored) {
+ }
}
}
});
+ mDeleteButton.setOnClickListener(
+ new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ AlertDialog.Builder ab = new AlertDialog.Builder(mContext);
+ ab.setTitle(R.string.query_delete_remote);
+ ab.setPositiveButton(R.string.keep, null);
+ ab.setNegativeButton(R.string.delete, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ removeRemote(getAdapterPosition());
+ notifyItemRemoved(getAdapterPosition());
+ }
+ });
+ ab.create().show();
+ }
+ }
+ );
+
}
+
+
}
@@ -177,7 +219,7 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
} else { // TYPE_FOOTER
card = li.inflate(R.layout.server_footer, viewGroup, false);
}
- return new ConnectionsHolder(card, this);
+ return new ConnectionsHolder(card, this, viewType);
}
@@ -194,26 +236,24 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
}
@Override
- public void onBindViewHolder(final ConnectionsAdapter.ConnectionsHolder cH, final int position) {
+ public void onBindViewHolder(final ConnectionsAdapter.ConnectionsHolder cH, int position) {
if (position == mConnections.length) {
// Footer
return;
}
final Connection connection = mConnections[position];
- cH.mConnection = connection;
+ cH.mConnection = null;
cH.mPortNumberView.setText(connection.mServerPort);
cH.mServerNameView.setText(connection.mServerName);
cH.mPortNumberView.setText(connection.mServerPort);
cH.mRemoteSwitch.setChecked(connection.mEnabled);
- if (connection.mConnectTimeout==0) {
- cH.mConnectText.setText("");
- } else {
- cH.mConnectText.setText(String.valueOf(connection.mConnectTimeout));
- }
- cH.mConnectSlider.setProgress(connection.mConnectTimeout);
+
+ cH.mConnectText.setText(String.valueOf(connection.getTimeout()));
+
+ cH.mConnectSlider.setProgress(connection.getTimeout());
cH.mProtoGroup.check(connection.mUseUdp ? R.id.udp_proto : R.id.tcp_proto);
@@ -222,79 +262,7 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
cH.mCustomOptionText.setText(connection.mCustomConfiguration);
cH.mCustomOptionCB.setChecked(connection.mUseCustomConfig);
-
- cH.mDeleteButton.setOnClickListener(
- new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AlertDialog.Builder ab = new AlertDialog.Builder(mContext);
- ab.setTitle(R.string.query_delete_remote);
- ab.setPositiveButton(R.string.keep, null);
- ab.setNegativeButton(R.string.delete, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- removeRemote(position);
- notifyItemRemoved(position);
- }
- });
- ab.create().show();
- }
- }
- );
-
- cH.mServerNameView.addTextChangedListener(new OnTextChangedWatcher() {
- @Override
- public void afterTextChanged(Editable s) {
- connection.mServerName = s.toString();
- }
-
- });
-
- cH.mPortNumberView.addTextChangedListener(new OnTextChangedWatcher() {
- @Override
- public void afterTextChanged(Editable s) {
- connection.mServerPort = s.toString();
- }
- });
-
- cH.mCustomOptionText.addTextChangedListener(new OnTextChangedWatcher() {
- @Override
- public void afterTextChanged(Editable s) {
- connection.mCustomConfiguration = s.toString();
- }
- });
-
- cH.mConnectSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (fromUser) {
- cH.mConnectText.setText(String.valueOf(progress));
- connection.mConnectTimeout = progress;
- }
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
-
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
-
- }
- });
- cH.mConnectText.addTextChangedListener(new OnTextChangedWatcher() {
- @Override
- public void afterTextChanged(Editable s) {
- try {
- int t = Integer.valueOf(String.valueOf(s));
- cH.mConnectSlider.setProgress(t);
- connection.mConnectTimeout = t;
- } catch (Exception ignored) {
-
- }
- }
- });
+ cH.mConnection = connection;
}
@@ -321,14 +289,14 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
return TYPE_NORMAL;
}
- public void addRemote() {
+ void addRemote() {
mConnections = Arrays.copyOf(mConnections, mConnections.length + 1);
mConnections[mConnections.length - 1] = new Connection();
notifyItemInserted(mConnections.length - 1);
displayWarningIfNoneEnabled();
}
- protected void displayWarningIfNoneEnabled() {
+ void displayWarningIfNoneEnabled() {
int showWarning = View.VISIBLE;
for (Connection conn : mConnections) {
if (conn.mEnabled)
@@ -338,7 +306,7 @@ public class ConnectionsAdapter extends RecyclerView.Adapter<ConnectionsAdapter.
}
- public void saveProfile() {
+ void saveProfile() {
mProfile.mConnections = mConnections;
}
}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java
index d2be88be..0332a713 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/FaqFragment.java
@@ -112,12 +112,15 @@ public class FaqFragment extends Fragment {
new FAQEntry(Build.VERSION_CODES.ICE_CREAM_SANDWICH, -1, R.string.faq_howto_title, R.string.faq_howto),
+ new FAQEntry(Build.VERSION_CODES.ICE_CREAM_SANDWICH, -1, R.string.weakmd_title, R.string.weakmd),
+ new FAQEntry(Build.VERSION_CODES.LOLLIPOP, -1, R.string.samsung_broken_title, R.string.samsung_broken),
+
new FAQEntry(Build.VERSION_CODES.ICE_CREAM_SANDWICH, -1, R.string.faq_duplicate_notification_title, R.string.faq_duplicate_notification),
new FAQEntry(Build.VERSION_CODES.ICE_CREAM_SANDWICH, -1, R.string.faq_androids_clients_title, R.string.faq_android_clients),
- new FAQEntry(Build.VERSION_CODES.LOLLIPOP, -1, R.string.ab_lollipop_reinstall_title, R.string.ab_lollipop_reinstall),
+ new FAQEntry(Build.VERSION_CODES.LOLLIPOP, Build.VERSION_CODES.LOLLIPOP_MR1, R.string.ab_lollipop_reinstall_title, R.string.ab_lollipop_reinstall),
new FAQEntry(Build.VERSION_CODES.ICE_CREAM_SANDWICH, Build.VERSION_CODES.JELLY_BEAN_MR2, R.string.vpn_tethering_title, R.string.faq_tethering),
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/FaqViewAdapter.java b/main/src/main/java/de/blinkt/openvpn/fragments/FaqViewAdapter.java
index 223048b9..0be9f4a2 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/FaqViewAdapter.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/FaqViewAdapter.java
@@ -76,7 +76,8 @@ public class FaqViewAdapter extends RecyclerView.Adapter<FaqViewAdapter.FaqViewH
mHtmlEntriesTitle[i] = Html.fromHtml(title);
}
- mHtmlEntries[i] = Html.fromHtml(textColor + mContext.getString(faqItems[i].description));
+ String content = mContext.getString(faqItems[i].description);
+ mHtmlEntries[i] = Html.fromHtml(textColor + content);
// Add hack R.string.faq_system_dialogs_title -> R.string.faq_system_dialog_xposed
if (faqItems[i].title == R.string.faq_system_dialogs_title)
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java
index f59094bf..74e76cc4 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/FileSelectionFragment.java
@@ -6,7 +6,9 @@
package de.blinkt.openvpn.fragments;
import android.app.ListFragment;
+import android.os.Build;
import android.os.Bundle;
+import android.os.Environment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -21,10 +23,12 @@ import android.widget.Toast;
import java.io.File;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.TreeMap;
+import java.util.Vector;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.activities.FileSelect;
@@ -44,13 +48,13 @@ public class FileSelectionFragment extends ListFragment {
private String parentPath;
- private String currentPath = ROOT;
+ private String currentPath = Environment.getExternalStorageDirectory().getAbsolutePath();
private String[] formatFilter = null;
private File selectedFile;
- private HashMap<String, Integer> lastPositions = new HashMap<String, Integer>();
+ private HashMap<String, Integer> lastPositions = new HashMap<>();
private String mStartPath;
private CheckBox mInlineImport;
private Button mClearButton;
@@ -133,6 +137,10 @@ public class FileSelectionFragment extends ListFragment {
getDir(mStartPath);
}
+ public void refresh() {
+ getDir(Environment.getExternalStorageDirectory().getAbsolutePath());
+ }
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -153,11 +161,6 @@ public class FileSelectionFragment extends ListFragment {
}
- /**
- * Monta a estrutura de arquivos e diretorios filhos do diretorio fornecido.
- *
- * @param dirPath Diretorio pai.
- */
private void getDirImpl(final String dirPath) {
currentPath = dirPath;
@@ -172,6 +175,9 @@ public class FileSelectionFragment extends ListFragment {
currentPath = ROOT;
f = new File(currentPath);
files = f.listFiles();
+
+ if (files == null)
+ files = new File[]{};
}
myPath.setText(getText(R.string.location) + ": " + currentPath);
@@ -189,10 +195,18 @@ public class FileSelectionFragment extends ListFragment {
}
+
TreeMap<String, String> dirsMap = new TreeMap<String, String>();
TreeMap<String, String> dirsPathMap = new TreeMap<String, String>();
TreeMap<String, String> filesMap = new TreeMap<String, String>();
TreeMap<String, String> filesPathMap = new TreeMap<String, String>();
+
+ // add default locations
+ for (String dir: getExternalStorages()) {
+ dirsMap.put(dir, dir);
+ dirsPathMap.put(dir, dir);
+ }
+
for (File file : files) {
if (file.isDirectory()) {
String dirName = file.getName();
@@ -201,7 +215,7 @@ public class FileSelectionFragment extends ListFragment {
} else {
final String fileName = file.getName();
final String fileNameLwr = fileName.toLowerCase(Locale.getDefault());
- // se ha um filtro de formatos, utiliza-o
+
if (formatFilter != null) {
boolean contains = false;
for (String aFormatFilter : formatFilter) {
@@ -215,7 +229,6 @@ public class FileSelectionFragment extends ListFragment {
filesMap.put(fileName, fileName);
filesPathMap.put(fileName, file.getPath());
}
- // senao, adiciona todos os arquivos
} else {
filesMap.put(fileName, fileName);
filesPathMap.put(fileName, file.getPath());
@@ -251,6 +264,30 @@ public class FileSelectionFragment extends ListFragment {
mList.add(item);
}
+ private Collection<String> getExternalStorages() {
+ Vector<String> dirs = new Vector<>();
+
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ for (File d : getActivity().getExternalFilesDirs(null))
+ dirs.add(getRootOfInnerSdCardFolder(d));
+ } else {
+ dirs.add(Environment.getExternalStorageDirectory().getAbsolutePath());
+ }
+ return dirs;
+ }
+
+ private static String getRootOfInnerSdCardFolder(File file) {
+ if (file == null)
+ return null;
+ final long totalSpace = file.getTotalSpace();
+ while (true) {
+ final File parentFile = file.getParentFile();
+ if (parentFile == null || parentFile.getTotalSpace() != totalSpace
+ || file.equals(Environment.getExternalStorageDirectory()))
+ return file.getAbsolutePath();
+ file = parentFile;
+ }
+ }
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java b/main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java
index 013369b9..700095d7 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/GeneralSettings.java
@@ -5,6 +5,7 @@
package de.blinkt.openvpn.fragments;
import java.io.File;
+import java.util.Collection;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
@@ -17,18 +18,24 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Build;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
import de.blinkt.openvpn.BuildConfig;
import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.api.ExternalAppDatabase;
+import de.blinkt.openvpn.core.ProfileManager;
-public class GeneralSettings extends PreferenceFragment implements OnPreferenceClickListener, OnClickListener {
+
+public class GeneralSettings extends PreferenceFragment implements OnPreferenceClickListener, OnClickListener, Preference.OnPreferenceChangeListener {
private ExternalAppDatabase mExtapp;
+ private ListPreference mAlwaysOnVPN;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -40,6 +47,8 @@ public class GeneralSettings extends PreferenceFragment implements OnPreferenceC
PreferenceCategory devHacks = (PreferenceCategory) findPreference("device_hacks");
+ mAlwaysOnVPN = (ListPreference) findPreference("alwaysOnVpn");
+ mAlwaysOnVPN.setOnPreferenceChangeListener(this);
Preference loadtun = findPreference("loadTunModule");
@@ -70,7 +79,48 @@ public class GeneralSettings extends PreferenceFragment implements OnPreferenceC
setClearApiSummary();
}
- private void setClearApiSummary() {
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ ProfileManager pm = ProfileManager.getInstance(getActivity());
+ Collection<VpnProfile> profiles = pm.getProfiles();
+ CharSequence[] entries = new CharSequence[profiles.size()];
+ CharSequence[] entryValues = new CharSequence[profiles.size()];;
+
+ int i=0;
+ for (VpnProfile p: profiles)
+ {
+ entries[i]=p.getName();
+ entryValues[i]=p.getUUIDString();
+ i++;
+ }
+
+ mAlwaysOnVPN.setEntries(entries);
+ mAlwaysOnVPN.setEntryValues(entryValues);
+
+
+ VpnProfile vpn = ProfileManager.getAlwaysOnVPN(getActivity());
+ StringBuffer sb = new StringBuffer(getString(R.string.defaultvpnsummary));
+ sb.append('\n');
+ if (vpn== null)
+ sb.append(getString(R.string.novpn_selected));
+ else
+ sb.append(getString(R.string.vpnselected, vpn.getName()));
+ mAlwaysOnVPN.setSummary(sb.toString());
+
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ if (preference== mAlwaysOnVPN) {
+ VpnProfile vpn = ProfileManager.get(getActivity(), (String) newValue);
+ mAlwaysOnVPN.setSummary(vpn.getName());
+ }
+ return true;
+ }
+
+ private void setClearApiSummary() {
Preference clearapi = findPreference("clearapi");
if(mExtapp.getExtAppList().isEmpty()) {
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/GraphFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/GraphFragment.java
new file mode 100644
index 00000000..10c09461
--- /dev/null
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/GraphFragment.java
@@ -0,0 +1,400 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.fragments;
+
+import android.app.Fragment;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.os.Handler;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.github.mikephil.charting.charts.LineChart;
+import com.github.mikephil.charting.components.AxisBase;
+import com.github.mikephil.charting.components.XAxis;
+import com.github.mikephil.charting.components.YAxis;
+import com.github.mikephil.charting.data.Entry;
+import com.github.mikephil.charting.data.LineData;
+import com.github.mikephil.charting.data.LineDataSet;
+import com.github.mikephil.charting.formatter.IAxisValueFormatter;
+import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+
+import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.core.OpenVPNManagement;
+import de.blinkt.openvpn.core.TrafficHistory;
+import de.blinkt.openvpn.core.VpnStatus;
+
+import static android.content.Context.MODE_PRIVATE;
+import static de.blinkt.openvpn.core.OpenVPNService.humanReadableByteCount;
+import static java.lang.Math.max;
+
+/**
+ * Created by arne on 19.05.17.
+ */
+
+public class GraphFragment extends Fragment implements VpnStatus.ByteCountListener {
+ private static final String PREF_USE_LOG = "useLogGraph";
+ private ListView mListView;
+
+ private ChartDataAdapter mChartAdapter;
+ private int mColourIn;
+ private int mColourOut;
+ private int mColourPoint;
+
+ private long firstTs;
+ private TextView mSpeedStatus;
+ private boolean mLogScale;
+
+ private static final int TIME_PERIOD_SECDONS = 0;
+ private static final int TIME_PERIOD_MINUTES = 1;
+ private static final int TIME_PERIOD_HOURS = 2;
+ private Handler mHandler;
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+ View v = inflater.inflate(R.layout.graph, container, false);
+ mListView = (ListView) v.findViewById(R.id.graph_listview);
+ mSpeedStatus = (TextView) v.findViewById(R.id.speedStatus);
+ CheckBox logScaleView = (CheckBox) v.findViewById(R.id.useLogScale);
+ mLogScale = getActivity().getPreferences(MODE_PRIVATE).getBoolean(PREF_USE_LOG, false);
+ logScaleView.setChecked(mLogScale);
+
+ List<Integer> charts = new LinkedList<>();
+ charts.add(TIME_PERIOD_SECDONS);
+ charts.add(TIME_PERIOD_MINUTES);
+ charts.add(TIME_PERIOD_HOURS);
+
+ mChartAdapter = new ChartDataAdapter(getActivity(), charts);
+ mListView.setAdapter(mChartAdapter);
+
+ mColourIn = getActivity().getResources().getColor(R.color.dataIn);
+ mColourOut = getActivity().getResources().getColor(R.color.dataOut);
+ mColourPoint = getActivity().getResources().getColor(android.R.color.black);
+
+ logScaleView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ mLogScale = isChecked;
+ mChartAdapter.notifyDataSetChanged();
+ getActivity().getPreferences(MODE_PRIVATE).edit().putBoolean(PREF_USE_LOG, isChecked).apply();
+ }
+ });
+
+ mHandler = new Handler();
+
+ return v;
+
+
+ }
+
+ private Runnable triggerRefresh = new Runnable() {
+ @Override
+ public void run() {
+ mChartAdapter.notifyDataSetChanged();
+ mHandler.postDelayed(triggerRefresh, OpenVPNManagement.mBytecountInterval * 1500);
+ }
+ };
+
+ @Override
+ public void onResume() {
+ super.onResume();
+
+ VpnStatus.addByteCountListener(this);
+ mHandler.postDelayed(triggerRefresh, OpenVPNManagement.mBytecountInterval * 1500);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+
+ mHandler.removeCallbacks(triggerRefresh);
+ VpnStatus.removeByteCountListener(this);
+ }
+
+ @Override
+ public void updateByteCount(long in, long out, long diffIn, long diffOut) {
+ if (firstTs == 0)
+ firstTs = System.currentTimeMillis() / 100;
+
+ long now = (System.currentTimeMillis() / 100) - firstTs;
+ int interval = OpenVPNManagement.mBytecountInterval * 10;
+ Resources res = getActivity().getResources();
+
+ final String netstat = String.format(getString(R.string.statusline_bytecount),
+ humanReadableByteCount(in, false, res),
+ humanReadableByteCount(diffIn / OpenVPNManagement.mBytecountInterval, true, res),
+ humanReadableByteCount(out, false, res),
+ humanReadableByteCount(diffOut / OpenVPNManagement.mBytecountInterval, true, res));
+
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ mHandler.removeCallbacks(triggerRefresh);
+ mSpeedStatus.setText(netstat);
+ mChartAdapter.notifyDataSetChanged();
+ mHandler.postDelayed(triggerRefresh, OpenVPNManagement.mBytecountInterval * 1500);
+ }
+ });
+
+ }
+
+ private class ChartDataAdapter extends ArrayAdapter<Integer> {
+
+ private Context mContext;
+
+ public ChartDataAdapter(Context context, List<Integer> trafficData) {
+ super(context, 0, trafficData);
+ mContext = context;
+ }
+
+ @NonNull
+ @Override
+ public View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+ ViewHolder holder = null;
+
+ if (convertView == null) {
+
+ holder = new ViewHolder();
+
+ convertView = LayoutInflater.from(mContext).inflate(
+ R.layout.graph_item, parent, false);
+ holder.chart = (LineChart) convertView.findViewById(R.id.chart);
+ holder.title = (TextView) convertView.findViewById(R.id.tvName);
+ convertView.setTag(holder);
+
+ } else {
+ holder = (ViewHolder) convertView.getTag();
+ }
+
+ // apply styling
+ // holder.chart.setValueTypeface(mTf);
+ holder.chart.getDescription().setEnabled(false);
+ holder.chart.setDrawGridBackground(false);
+
+ XAxis xAxis = holder.chart.getXAxis();
+ xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
+ xAxis.setDrawGridLines(false);
+ xAxis.setDrawAxisLine(true);
+
+ switch (position) {
+ case TIME_PERIOD_HOURS:
+ holder.title.setText(R.string.avghour);
+ break;
+ case TIME_PERIOD_MINUTES:
+ holder.title.setText(R.string.avgmin);
+ break;
+ default:
+ holder.title.setText(R.string.last5minutes);
+ break;
+ }
+
+ xAxis.setValueFormatter(new IAxisValueFormatter() {
+
+
+ @Override
+ public String getFormattedValue(float value, AxisBase axis) {
+ switch (position) {
+ case TIME_PERIOD_HOURS:
+ return String.format(Locale.getDefault(), "%.0f\u2009h ago", (axis.getAxisMaximum() - value) / 10 / 3600);
+ case TIME_PERIOD_MINUTES:
+ return String.format(Locale.getDefault(), "%.0f\u2009m ago", (axis.getAxisMaximum() - value) / 10 / 60);
+ default:
+ return String.format(Locale.getDefault(), "%.0f\u2009s ago", (axis.getAxisMaximum() - value) / 10);
+ }
+
+ }
+ });
+ xAxis.setLabelCount(5);
+
+ YAxis yAxis = holder.chart.getAxisLeft();
+ yAxis.setLabelCount(5, false);
+
+ final Resources res = getActivity().getResources();
+ yAxis.setValueFormatter(new IAxisValueFormatter() {
+ @Override
+ public String getFormattedValue(float value, AxisBase axis) {
+ if (mLogScale && value < 2.1f)
+ return "< 100\u2009bit/s";
+ if (mLogScale)
+ value = (float) Math.pow(10, value) / 8;
+
+ return humanReadableByteCount((long) value, true, res);
+ }
+ });
+
+ holder.chart.getAxisRight().setEnabled(false);
+
+ LineData data = getDataSet(position);
+ float ymax = data.getYMax();
+
+ if (mLogScale) {
+ yAxis.setAxisMinimum(2f);
+ yAxis.setAxisMaximum((float) Math.ceil(ymax));
+ yAxis.setLabelCount((int) (Math.ceil(ymax - 2f)));
+ } else {
+ yAxis.setAxisMinimum(0f);
+ yAxis.resetAxisMaximum();
+ yAxis.setLabelCount(6);
+ }
+
+ if (data.getDataSetByIndex(0).getEntryCount() < 3)
+ holder.chart.setData(null);
+ else
+ holder.chart.setData(data);
+
+ holder.chart.setNoDataText(getString(R.string.notenoughdata));
+
+ holder.chart.invalidate();
+ //holder.chart.animateX(750);
+
+ return convertView;
+ }
+
+ private LineData getDataSet(int timeperiod) {
+
+ LinkedList<Entry> dataIn = new LinkedList<>();
+ LinkedList<Entry> dataOut = new LinkedList<>();
+
+ long interval;
+ long totalInterval;
+
+ LinkedList<TrafficHistory.TrafficDatapoint> list;
+ switch (timeperiod) {
+ case TIME_PERIOD_HOURS:
+ list = VpnStatus.trafficHistory.getHours();
+ interval = TrafficHistory.TIME_PERIOD_HOURS;
+ totalInterval = 0;
+ break;
+ case TIME_PERIOD_MINUTES:
+ list = VpnStatus.trafficHistory.getMinutes();
+ interval = TrafficHistory.TIME_PERIOD_MINTUES;
+ totalInterval = TrafficHistory.TIME_PERIOD_HOURS * TrafficHistory.PERIODS_TO_KEEP;
+ ;
+
+ break;
+ default:
+ list = VpnStatus.trafficHistory.getSeconds();
+ interval = OpenVPNManagement.mBytecountInterval * 1000;
+ totalInterval = TrafficHistory.TIME_PERIOD_MINTUES * TrafficHistory.PERIODS_TO_KEEP;
+ break;
+ }
+ if (list.size() == 0) {
+ list = TrafficHistory.getDummyList();
+ }
+
+
+ long lastts = 0;
+ float zeroValue;
+ if (mLogScale)
+ zeroValue = 2;
+ else
+ zeroValue = 0;
+
+ long now = System.currentTimeMillis();
+
+
+ long firstTimestamp = 0;
+ long lastBytecountOut = 0;
+ long lastBytecountIn = 0;
+
+ for (TrafficHistory.TrafficDatapoint tdp : list) {
+ if (totalInterval != 0 && (now - tdp.timestamp) > totalInterval)
+ continue;
+
+ if (firstTimestamp == 0) {
+ firstTimestamp = list.peek().timestamp;
+ lastBytecountIn = list.peek().in;
+ lastBytecountOut = list.peek().out;
+ }
+
+ float t = (tdp.timestamp - firstTimestamp) / 100f;
+
+ float in = (tdp.in - lastBytecountIn) / (float) (interval / 1000);
+ float out = (tdp.out - lastBytecountOut) / (float) (interval / 1000);
+
+ lastBytecountIn = tdp.in;
+ lastBytecountOut = tdp.out;
+
+ if (mLogScale) {
+ in = max(2f, (float) Math.log10(in * 8));
+ out = max(2f, (float) Math.log10(out * 8));
+ }
+
+ if (lastts > 0 && (tdp.timestamp - lastts > 2 * interval)) {
+ dataIn.add(new Entry((lastts - firstTimestamp + interval) / 100f, zeroValue));
+ dataOut.add(new Entry((lastts - firstTimestamp + interval) / 100f, zeroValue));
+
+ dataIn.add(new Entry(t - interval / 100f, zeroValue));
+ dataOut.add(new Entry(t - interval / 100f, zeroValue));
+ }
+
+ lastts = tdp.timestamp;
+
+ dataIn.add(new Entry(t, in));
+ dataOut.add(new Entry(t, out));
+
+ }
+ if (lastts < now - interval) {
+
+ if (now - lastts > 2 * interval * 1000) {
+ dataIn.add(new Entry((lastts - firstTimestamp + interval * 1000) / 100f, zeroValue));
+ dataOut.add(new Entry((lastts - firstTimestamp + interval * 1000) / 100f, zeroValue));
+ }
+
+ dataIn.add(new Entry((now - firstTimestamp) / 100, zeroValue));
+ dataOut.add(new Entry((now - firstTimestamp) / 100, zeroValue));
+ }
+
+ ArrayList<ILineDataSet> dataSets = new ArrayList<>();
+
+
+ LineDataSet indata = new LineDataSet(dataIn, getString(R.string.data_in));
+ LineDataSet outdata = new LineDataSet(dataOut, getString(R.string.data_out));
+
+ setLineDataAttributes(indata, mColourIn);
+ setLineDataAttributes(outdata, mColourOut);
+
+ dataSets.add(indata);
+ dataSets.add(outdata);
+
+ return new LineData(dataSets);
+ }
+
+ private void setLineDataAttributes(LineDataSet dataSet, int colour) {
+ dataSet.setLineWidth(2);
+ dataSet.setCircleRadius(1);
+ dataSet.setDrawCircles(true);
+ dataSet.setCircleColor(mColourPoint);
+ dataSet.setDrawFilled(true);
+ dataSet.setFillAlpha(42);
+ dataSet.setFillColor(colour);
+ dataSet.setColor(colour);
+ dataSet.setMode(LineDataSet.Mode.LINEAR);
+
+ dataSet.setDrawValues(false);
+ }
+ }
+
+ private static class ViewHolder {
+ LineChart chart;
+ TextView title;
+ }
+}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
index bd39d55f..e8aa0b51 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/LogFragment.java
@@ -16,6 +16,7 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.res.Resources;
import android.database.DataSetObserver;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -56,12 +57,13 @@ import de.blinkt.openvpn.LaunchVPN;
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.activities.DisconnectVPN;
+import de.blinkt.openvpn.core.ConnectionStatus;
import de.blinkt.openvpn.core.OpenVPNManagement;
import de.blinkt.openvpn.core.OpenVPNService;
+import de.blinkt.openvpn.core.Preferences;
import de.blinkt.openvpn.core.ProfileManager;
import de.blinkt.openvpn.core.VpnStatus;
-import de.blinkt.openvpn.core.VpnStatus.ConnectionStatus;
-import de.blinkt.openvpn.core.VpnStatus.LogItem;
+import de.blinkt.openvpn.core.LogItem;
import de.blinkt.openvpn.core.VpnStatus.LogListener;
import de.blinkt.openvpn.core.VpnStatus.StateListener;
@@ -117,8 +119,9 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
@Override
public void updateByteCount(long in, long out, long diffIn, long diffOut) {
//%2$s/s %1$s - ↑%4$s/s %3$s
- final String down = String.format("%2$s/s %1$s", humanReadableByteCount(in, false), humanReadableByteCount(diffIn / OpenVPNManagement.mBytecountInterval, true));
- final String up = String.format("%2$s/s %1$s", humanReadableByteCount(out, false), humanReadableByteCount(diffOut / OpenVPNManagement.mBytecountInterval, true));
+ Resources res = getActivity().getResources();
+ final String down = String.format("%2$s %1$s", humanReadableByteCount(in, false, res), humanReadableByteCount(diffIn / OpenVPNManagement.mBytecountInterval, true, res));
+ final String up = String.format("%2$s %1$s", humanReadableByteCount(out, false, res), humanReadableByteCount(diffOut / OpenVPNManagement.mBytecountInterval, true, res));
if (mUpStatus != null && mDownStatus != null) {
if (getActivity() != null) {
@@ -429,33 +432,34 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
Intent intent = new Intent(getActivity(), DisconnectVPN.class);
startActivity(intent);
return true;
- } else if(item.getItemId()==R.id.send) {
- ladapter.shareLog();
- } else if(item.getItemId()==R.id.edit_vpn) {
- VpnProfile lastConnectedprofile = ProfileManager.getLastConnectedVpn();
-
- if(lastConnectedprofile!=null) {
- Intent vprefintent = new Intent(getActivity(),Dashboard.class)
- .putExtra(VpnProfile.EXTRA_PROFILEUUID,lastConnectedprofile.getUUIDString());
- startActivityForResult(vprefintent,START_VPN_CONFIG);
- } else {
- Toast.makeText(getActivity(), R.string.log_no_last_vpn, Toast.LENGTH_LONG).show();
- }
- } else if(item.getItemId() == R.id.toggle_time) {
- showHideOptionsPanel();
- } else if(item.getItemId() == android.R.id.home) {
- // This is called when the Home (Up) button is pressed
- // in the Action Bar.
- Intent parentActivityIntent = new Intent(getActivity(), Dashboard.class);
- parentActivityIntent.addFlags(
- Intent.FLAG_ACTIVITY_CLEAR_TOP |
- Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(parentActivityIntent);
- getActivity().finish();
- return true;
-
- }
- return super.onOptionsItemSelected(item);
+ } else if (item.getItemId() == R.id.send) {
+ ladapter.shareLog();
+ } else if (item.getItemId() == R.id.edit_vpn) {
+ VpnProfile lastConnectedprofile = ProfileManager.get(getActivity(), VpnStatus.getLastConnectedVPNProfile());
+
+ if (lastConnectedprofile != null) {
+ Intent vprefintent = new Intent(getActivity(), Dashboard.class)
+ .putExtra(VpnProfile.EXTRA_PROFILEUUID, lastConnectedprofile.getUUIDString());
+ startActivityForResult(vprefintent, START_VPN_CONFIG);
+ } else {
+ Toast.makeText(getActivity(), R.string.log_no_last_vpn, Toast.LENGTH_LONG).show();
+ }
+ } else if (item.getItemId() == R.id.toggle_time) {
+ showHideOptionsPanel();
+ } else if (item.getItemId() == android.R.id.home) {
+ // This is called when the Home (Up) button is pressed
+ // in the Action Bar.
+ Intent parentActivityIntent = new Intent(getActivity(), Dashboard.class);
+ parentActivityIntent.addFlags(
+ Intent.FLAG_ACTIVITY_CLEAR_TOP |
+ Intent.FLAG_ACTIVITY_NEW_TASK);
+ startActivity(parentActivityIntent);
+ getActivity().finish();
+ return true;
+
+ }
+ return super.onOptionsItemSelected(item);
+
}
private void showHideOptionsPanel() {
@@ -500,13 +504,16 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
@Override
public void onResume() {
super.onResume();
- VpnStatus.addStateListener(this);
- VpnStatus.addByteCountListener(this);
Intent intent = new Intent(getActivity(), OpenVPNService.class);
intent.setAction(OpenVPNService.START_SERVICE);
-
}
+ @Override
+ public void onStart() {
+ super.onStart();
+ VpnStatus.addStateListener(this);
+ VpnStatus.addByteCountListener(this);
+ }
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -603,7 +610,7 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
mClearLogCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean(LaunchVPN.CLEARLOG, isChecked).apply();
+ Preferences.getDefaultSharedPreferences(getActivity()).edit().putBoolean(LaunchVPN.CLEARLOG, isChecked).apply();
}
});
@@ -628,7 +635,14 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
}
@Override
- public void onAttach(Activity activity) {
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ // Scroll to the end of the list end
+ //getListView().setSelection(getListView().getAdapter().getCount()-1);
+ }
+
+ @Override
+ public void onAttach(Context activity) {
super.onAttach(activity);
if (getResources().getBoolean(R.bool.logSildersAlwaysVisible)) {
mShowOptionsLayout = true;
@@ -660,13 +674,17 @@ public class LogFragment extends ListFragment implements StateListener, SeekBar.
mSpeedView.setText(cleanLogMessage);
}
if (mConnectStatus != null)
- mConnectStatus.setText(getString(resId));
+ mConnectStatus.setText(cleanLogMessage);
}
}
});
}
}
+ @Override
+ public void setConnectedVPN(String uuid) {
+ }
+
@Override
public void onDestroy() {
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java
index 22464b3b..b718de3a 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Authentication.java
@@ -16,6 +16,7 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.SwitchPreference;
+import android.text.TextUtils;
import android.util.Pair;
import de.blinkt.openvpn.activities.FileSelect;
import de.blinkt.openvpn.R;
@@ -38,8 +39,9 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
private EditTextPreference mCipher;
private String mTlsAuthFileData;
private EditTextPreference mAuth;
+ private EditTextPreference mRemoteX509Name;
- @Override
+ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -51,6 +53,9 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
mRemoteCN = (RemoteCNPreference) findPreference("remotecn");
mRemoteCN.setOnPreferenceChangeListener(this);
+ mRemoteX509Name = (EditTextPreference) findPreference("remotex509name");
+ mRemoteX509Name.setOnPreferenceChangeListener(this);
+
mUseTLSAuth = (SwitchPreference) findPreference("useTLSAuth" );
mTLSAuthFile = findPreference("tlsAuthFile");
mTLSAuthDirection = (ListPreference) findPreference("tls_direction");
@@ -78,6 +83,9 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
onPreferenceChange(mRemoteCN,
new Pair<Integer, String>(mProfile.mX509AuthType, mProfile.mRemoteCN));
+ mRemoteX509Name.setText(mProfile.mx509UsernameField);
+ onPreferenceChange(mRemoteX509Name, mProfile.mx509UsernameField);
+
mUseTLSAuth.setChecked(mProfile.mUseTLSAuth);
mTlsAuthFileData= mProfile.mTLSAuthFilename;
setTlsAuthSummary(mTlsAuthFileData);
@@ -107,6 +115,7 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
mProfile.mUseTLSAuth = mUseTLSAuth.isChecked();
mProfile.mTLSAuthFilename = mTlsAuthFileData;
+ mProfile.mx509UsernameField = mRemoteX509Name.getText();
if(mTLSAuthDirection.getValue()==null)
mProfile.mTLSAuthDirection=null;
@@ -147,7 +156,9 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
} else if (preference == mCipher || preference == mAuth) {
preference.setSummary((CharSequence) newValue);
- }
+ } else if (preference == mRemoteX509Name) {
+ preference.setSummary(TextUtils.isEmpty((CharSequence) newValue) ? "CN (default)" : (CharSequence)newValue);
+ }
return true;
}
private CharSequence getX509String(int authtype, String dn) {
@@ -220,7 +231,7 @@ public class Settings_Authentication extends OpenVpnPreferencesFragment implemen
if(result.startsWith(VpnProfile.INLINE_TAG))
mTLSAuthFile.setSummary(R.string.inline_file_data);
else if (result.startsWith(VpnProfile.DISPLAYNAME_TAG))
- mExpectTLSCert.setSummary(getString(R.string.imported_from_file, VpnProfile.getDisplayName(result)));
+ mTLSAuthFile.setSummary(getString(R.string.imported_from_file, VpnProfile.getDisplayName(result)));
else
mTLSAuthFile.setSummary(result);
}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java
index 78976c44..c85dc114 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Basic.java
@@ -61,9 +61,10 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
private EditText mKeyPassword;
private SparseArray<FileSelectLayout> fileselects = new SparseArray<>();
+ private Spinner mAuthRetry;
- private void addFileSelectLayout (FileSelectLayout fsl, Utils.FileType type) {
+ private void addFileSelectLayout (FileSelectLayout fsl, Utils.FileType type) {
int i = fileselects.size() + CHOOSE_FILE_OFFSET;
fileselects.put(i, fsl);
fsl.setCaller(this, i, type);
@@ -81,7 +82,7 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
public void run() {
String certstr="";
try {
- X509Certificate cert = KeyChain.getCertificateChain(getActivity(), mProfile.mAlias)[0];
+ X509Certificate cert = KeyChain.getCertificateChain(getActivity().getApplicationContext(), mProfile.mAlias)[0];
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
{
@@ -111,7 +112,7 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
private boolean isInHardwareKeystore() throws KeyChainException, InterruptedException {
- String algorithm = KeyChain.getPrivateKey(getActivity(), mProfile.mAlias).getAlgorithm();
+ String algorithm = KeyChain.getPrivateKey(getActivity().getApplicationContext(), mProfile.mAlias).getAlgorithm();
return KeyChain.isBoundKeyAlgorithm(algorithm);
}
@@ -136,6 +137,7 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
mUserName = (EditText) mView.findViewById(R.id.auth_username);
mPassword = (EditText) mView.findViewById(R.id.auth_password);
mKeyPassword = (EditText) mView.findViewById(R.id.key_password);
+ mAuthRetry = (Spinner) mView.findViewById(id.auth_retry);
addFileSelectLayout(mCaCert, Utils.FileType.CA_CERTIFICATE);
addFileSelectLayout(mClientCert, Utils.FileType.CLIENT_CERTIFICATE);
@@ -145,6 +147,7 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
mCaCert.setShowClear();
mType.setOnItemSelectedListener(this);
+ mAuthRetry.setOnItemSelectedListener(this);
mView.findViewById(R.id.select_keystore_button).setOnClickListener(this);
@@ -276,6 +279,7 @@ public class Settings_Basic extends Settings_Fragment implements View.OnClickLis
mProfile.mPassword = mPassword.getText().toString();
mProfile.mUsername = mUserName.getText().toString();
mProfile.mKeyPassword = mKeyPassword.getText().toString();
+ mProfile.mAuthRetry = mAuthRetry.getSelectedItemPosition();
}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java
index 7ce6dd1c..fec849ca 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_IP.java
@@ -59,7 +59,7 @@ public class Settings_IP extends OpenVpnPreferencesFragment implements OnPrefere
@Override
protected void loadSettings() {
-
+
mUsePull.setChecked(mProfile.mUsePull);
mIPv4.setText(mProfile.mIPv4Address);
mIPv6.setText(mProfile.mIPv6Address);
@@ -71,6 +71,8 @@ public class Settings_IP extends OpenVpnPreferencesFragment implements OnPrefere
if (mProfile.mAuthenticationType == VpnProfile.TYPE_STATICKEYS)
mUsePull.setChecked(false);
+ mUsePull.setEnabled(mProfile.mAuthenticationType != VpnProfile.TYPE_STATICKEYS);
+
// Sets Summary
onPreferenceChange(mIPv4, mIPv4.getText());
onPreferenceChange(mIPv6, mIPv6.getText());
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
index d3f3ae3c..5c70564e 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Settings_Obscure.java
@@ -13,6 +13,8 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.widget.Toast;
+import java.util.Locale;
+
import de.blinkt.openvpn.R;
import de.blinkt.openvpn.VpnProfile;
@@ -28,18 +30,23 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
private CheckBoxPreference mPersistent;
private ListPreference mConnectRetrymax;
private EditTextPreference mConnectRetry;
+ private EditTextPreference mConnectRetryMaxTime;
+ private EditTextPreference mTunMtu;
public void onCreateBehaviour(Bundle savedInstanceState) {
mPersistent = (CheckBoxPreference) findPreference("usePersistTun");
mConnectRetrymax = (ListPreference) findPreference("connectretrymax");
mConnectRetry = (EditTextPreference) findPreference("connectretry");
+ mConnectRetryMaxTime = (EditTextPreference) findPreference("connectretrymaxtime");
+
mPeerInfo = (CheckBoxPreference) findPreference("peerInfo");
mConnectRetrymax.setOnPreferenceChangeListener(this);
mConnectRetrymax.setSummary("%s");
mConnectRetry.setOnPreferenceChangeListener(this);
+ mConnectRetryMaxTime.setOnPreferenceChangeListener(this);
@@ -54,6 +61,10 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mConnectRetry.setText(mProfile.mConnectRetry);
onPreferenceChange(mConnectRetry, mProfile.mConnectRetry);
+
+ mConnectRetryMaxTime.setText(mProfile.mConnectRetryMaxTime);
+ onPreferenceChange(mConnectRetryMaxTime, mProfile.mConnectRetryMaxTime);
+
}
@@ -62,6 +73,7 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mProfile.mPersistTun = mPersistent.isChecked();
mProfile.mConnectRetry = mConnectRetry.getText();
mProfile.mPushPeerInfo = mPeerInfo.isChecked();
+ mProfile.mConnectRetryMaxTime = mConnectRetryMaxTime.getText();
}
@@ -79,10 +91,15 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
} else if (preference == mConnectRetry) {
if(newValue==null || newValue=="")
- newValue="5";
+ newValue="2";
mConnectRetry.setSummary(String.format("%s s", newValue));
+ } else if (preference == mConnectRetryMaxTime) {
+ if(newValue==null || newValue=="")
+ newValue="300";
+ mConnectRetryMaxTime.setSummary(String.format("%s s", newValue));
}
+
return true;
}
@@ -101,6 +118,9 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mMssFixCheckBox = (CheckBoxPreference) findPreference("mssFix");
mMssFixValue = (EditTextPreference) findPreference("mssFixValue");
mMssFixValue.setOnPreferenceChangeListener(this);
+ mTunMtu = (EditTextPreference) findPreference("tunmtu");
+ mTunMtu.setOnPreferenceChangeListener(this);;
+
onCreateBehaviour(savedInstanceState);
loadSettings();
@@ -121,12 +141,29 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
mMssFixCheckBox.setChecked(true);
setMssSummary(mProfile.mMssFix);
}
+
+
+ int tunmtu = mProfile.mTunMtu;
+ if (mProfile.mTunMtu < 48)
+ tunmtu = 1500;
+
+ mTunMtu.setText(String.valueOf(tunmtu));
+ setMtuSummary(tunmtu);
+
+
loadSettingsBehaviour();
}
private void setMssSummary(int value) {
- mMssFixValue.setSummary(String.format("Configured MSS value: %d", value));
+ mMssFixValue.setSummary(String.format(Locale.getDefault(),"Configured MSS value: %d", value));
+ }
+
+ private void setMtuSummary(int value) {
+ if (value == 1500)
+ mTunMtu.setSummary(String.format(Locale.getDefault(),"Using default (1500) MTU", value));
+ else
+ mTunMtu.setSummary(String.format(Locale.getDefault(),"Configured MTU value: %d", value));
}
protected void saveSettings() {
@@ -139,6 +176,7 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
else
mProfile.mMssFix=0;
+ mProfile.mTunMtu = Integer.parseInt(mTunMtu.getText());
saveSettingsBehaviour();
}
@@ -156,6 +194,17 @@ public class Settings_Obscure extends OpenVpnPreferencesFragment implements OnPr
Toast.makeText(getActivity(), R.string.mssfix_invalid_value, Toast.LENGTH_LONG).show();
return false;
}
+ else if (preference.getKey().equals("tunmtu"))
+ try {
+ int v = Integer.parseInt((String) newValue);
+ if (v < 48 || v > 9000)
+ throw new NumberFormatException("mtu value");
+ setMtuSummary(v);
+
+ } catch(NumberFormatException e) {
+ Toast.makeText(getActivity(), R.string.mtu_invalid_value, Toast.LENGTH_LONG).show();
+ return false;
+ }
return onPreferenceChangeBehaviour(preference, newValue);
}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java b/main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java
index bc763a9d..c3a3196d 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/ShowConfigFragment.java
@@ -102,11 +102,15 @@ public class ShowConfigFragment extends Fragment {
public void onResume() {
super.onResume();
- String profileUUID = getArguments().getString(getActivity().getPackageName() + ".profileUUID");
- final VpnProfile vp = ProfileManager.get(getActivity(),profileUUID);
- int check=vp.checkProfile(getActivity());
+ populateConfigText();
+ }
+
+ private void populateConfigText() {
+ String profileUUID = getArguments().getString(getActivity().getPackageName() + ".profileUUID");
+ final VpnProfile vp = ProfileManager.get(getActivity(),profileUUID);
+ int check=vp.checkProfile(getActivity());
- if(check!=R.string.no_error_found) {
+ if(check!= R.string.no_error_found) {
mConfigView.setText(check);
configtext = getString(check);
}
@@ -116,5 +120,13 @@ public class ShowConfigFragment extends Fragment {
mConfigView.setText("Generating config...");
startGenConfig(vp, mConfigView);
}
- }
+ }
+
+ @Override
+ public void setUserVisibleHint(boolean visible)
+ {
+ super.setUserVisibleHint(visible);
+ if (visible && isResumed())
+ populateConfigText();
+ }
}
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/Utils.java b/main/src/main/java/de/blinkt/openvpn/fragments/Utils.java
index 243eae98..4b8f8d93 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/Utils.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/Utils.java
@@ -49,10 +49,12 @@ public class Utils {
supportedMimeTypes.add("application/x-x509-ca-cert");
supportedMimeTypes.add("application/x-x509-user-cert");
supportedMimeTypes.add("application/x-pem-file");
+ supportedMimeTypes.add("application/pkix-cert");
supportedMimeTypes.add("text/plain");
extensions.add("pem");
extensions.add("crt");
+ extensions.add("cer");
break;
case KEYFILE:
i.setType("application/x-pem-file");
@@ -86,6 +88,12 @@ public class Utils {
extensions.add("conf");
break;
+ case CRL_FILE:
+ supportedMimeTypes.add("application/x-pkcs7-crl");
+ supportedMimeTypes.add("application/pkix-crl");
+ extensions.add("crl");
+ break;
+
case USERPW_FILE:
i.setType("text/plain");
supportedMimeTypes.add("text/plain");
@@ -111,7 +119,9 @@ public class Utils {
/* Samsung has decided to do something strange, on stock Android GET_CONTENT opens the document UI */
/* fist try with documentsui */
- i.setPackage("com.android.documentsui");
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.N)
+ i.setPackage("com.android.documentsui");
+
diff --git a/main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java b/main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java
index 3f5e806e..5a786afd 100644
--- a/main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java
+++ b/main/src/main/java/de/blinkt/openvpn/fragments/VPNProfileList.java
@@ -12,30 +12,50 @@ import android.app.ListFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.os.PersistableBundle;
+import android.support.annotation.RequiresApi;
import android.text.Html;
import android.text.Html.ImageGetter;
-import android.view.*;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
import android.view.View.OnClickListener;
+import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
-import de.blinkt.openvpn.*;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.TreeSet;
+
+import de.blinkt.openvpn.LaunchVPN;
+import de.blinkt.openvpn.R;
+import de.blinkt.openvpn.VpnProfile;
import de.blinkt.openvpn.activities.ConfigConverter;
+import de.blinkt.openvpn.activities.DisconnectVPN;
import de.blinkt.openvpn.activities.FileSelect;
import de.blinkt.openvpn.activities.VPNPreferences;
+import de.blinkt.openvpn.core.ConnectionStatus;
+import de.blinkt.openvpn.core.Preferences;
import de.blinkt.openvpn.core.ProfileManager;
import de.blinkt.openvpn.core.VpnStatus;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.TreeSet;
+import static de.blinkt.openvpn.core.OpenVPNService.DISCONNECT_VPN;
public class VPNProfileList extends ListFragment implements OnClickListener, VpnStatus.StateListener {
@@ -51,21 +71,26 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
private static final int FILE_PICKER_RESULT_KITKAT = 392;
private static final int MENU_IMPORT_PROFILE = Menu.FIRST + 1;
+ private static final int MENU_CHANGE_SORTING = Menu.FIRST + 2;
+ private static final String PREF_SORT_BY_LRU = "sortProfilesByLRU";
private String mLastStatusMessage;
@Override
- public void updateState(String state, String logmessage, final int localizedResId, VpnStatus.ConnectionStatus level) {
+ public void updateState(String state, String logmessage, final int localizedResId, ConnectionStatus level) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
- mLastStatusMessage = getString(localizedResId);
+ mLastStatusMessage = VpnStatus.getLastCleanLogMessage(getActivity());
mArrayadapter.notifyDataSetChanged();
}
});
}
+ @Override
+ public void setConnectedVPN(String uuid) {
+ }
- class VPNArrayAdapter extends ArrayAdapter<VpnProfile> {
+ private class VPNArrayAdapter extends ArrayAdapter<VpnProfile> {
public VPNArrayAdapter(Context context, int resource,
int textViewResourceId) {
@@ -82,7 +107,7 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
titleview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- startVPN(profile);
+ startOrStopVPN(profile);
}
});
@@ -97,7 +122,7 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
});
TextView subtitle = (TextView) v.findViewById(R.id.vpn_item_subtitle);
- if (ProfileManager.getLastConnectedVpn() == profile) {
+ if (profile.getUUIDString().equals(VpnStatus.getLastConnectedVPNProfile())) {
subtitle.setText(mLastStatusMessage);
subtitle.setVisibility(View.VISIBLE);
} else {
@@ -110,6 +135,15 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
}
}
+ private void startOrStopVPN(VpnProfile profile) {
+ if (VpnStatus.isVPNActive() && profile.getUUIDString().equals(VpnStatus.getLastConnectedVPNProfile())) {
+ Intent disconnectVPN = new Intent(getActivity(), DisconnectVPN.class);
+ startActivity(disconnectVPN);
+ } else {
+ startVPN(profile);
+ }
+ }
+
private ArrayAdapter<VpnProfile> mArrayadapter;
@@ -120,9 +154,121 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
+ }
+
+
+ // Shortcut version is increased to refresh all shortcuts
+ final static int SHORTCUT_VERSION = 1;
+
+ @RequiresApi(api = Build.VERSION_CODES.N_MR1)
+ void updateDynamicShortcuts() {
+ PersistableBundle versionExtras = new PersistableBundle();
+ versionExtras.putInt("version", SHORTCUT_VERSION);
+
+ ShortcutManager shortcutManager = getContext().getSystemService(ShortcutManager.class);
+ if (shortcutManager.isRateLimitingActive())
+ return;
+
+ List<ShortcutInfo> shortcuts = shortcutManager.getDynamicShortcuts();
+ int maxvpn = shortcutManager.getMaxShortcutCountPerActivity() - 1;
+
+
+ ShortcutInfo disconnectShortcut = new ShortcutInfo.Builder(getContext(), "disconnectVPN")
+ .setShortLabel("Disconnect")
+ .setLongLabel("Disconnect VPN")
+ .setIntent(new Intent(getContext(), DisconnectVPN.class).setAction(DISCONNECT_VPN))
+ .setIcon(Icon.createWithResource(getContext(), R.drawable.ic_shortcut_cancel))
+ .setExtras(versionExtras)
+ .build();
+
+ LinkedList<ShortcutInfo> newShortcuts = new LinkedList<>();
+ LinkedList<ShortcutInfo> updateShortcuts = new LinkedList<>();
+
+ LinkedList<String> removeShortcuts = new LinkedList<>();
+ LinkedList<String> disableShortcuts = new LinkedList<>();
+
+ boolean addDisconnect = true;
+
+
+ TreeSet<VpnProfile> sortedProfilesLRU = new TreeSet<VpnProfile>(new VpnProfileLRUComparator());
+ ProfileManager profileManager = ProfileManager.getInstance(getContext());
+ sortedProfilesLRU.addAll(profileManager.getProfiles());
+
+ LinkedList<VpnProfile> LRUProfiles = new LinkedList<>();
+ maxvpn = Math.min(maxvpn, sortedProfilesLRU.size());
+
+ for (int i = 0; i < maxvpn; i++) {
+ LRUProfiles.add(sortedProfilesLRU.pollFirst());
+ }
+
+ for (ShortcutInfo shortcut : shortcuts) {
+ if (shortcut.getId().equals("disconnectVPN")) {
+ addDisconnect = false;
+ if (shortcut.getExtras() == null
+ || shortcut.getExtras().getInt("version") != SHORTCUT_VERSION)
+ updateShortcuts.add(disconnectShortcut);
+
+ } else {
+ VpnProfile p = ProfileManager.get(getContext(), shortcut.getId());
+ if (p == null || p.profileDeleted) {
+ if (shortcut.isEnabled()) {
+ disableShortcuts.add(shortcut.getId());
+ removeShortcuts.add(shortcut.getId());
+ }
+ if (!shortcut.isPinned())
+ removeShortcuts.add(shortcut.getId());
+ } else {
+
+ if (LRUProfiles.contains(p))
+ LRUProfiles.remove(p);
+ else
+ removeShortcuts.add(p.getUUIDString());
+
+ if (!p.getName().equals(shortcut.getShortLabel())
+ || shortcut.getExtras() == null
+ || shortcut.getExtras().getInt("version") != SHORTCUT_VERSION)
+ updateShortcuts.add(createShortcut(p));
+
+
+ }
+
+ }
+ }
+ if (addDisconnect)
+ newShortcuts.add(disconnectShortcut);
+ for (VpnProfile p : LRUProfiles)
+ newShortcuts.add(createShortcut(p));
+
+ if (updateShortcuts.size() > 0)
+ shortcutManager.updateShortcuts(updateShortcuts);
+ if (removeShortcuts.size() > 0)
+ shortcutManager.removeDynamicShortcuts(removeShortcuts);
+ if (newShortcuts.size() > 0)
+ shortcutManager.addDynamicShortcuts(newShortcuts);
+ if (disableShortcuts.size() > 0)
+ shortcutManager.disableShortcuts(disableShortcuts, "VpnProfile does not exist anymore.");
}
+ @RequiresApi(Build.VERSION_CODES.N_MR1)
+ ShortcutInfo createShortcut(VpnProfile profile) {
+ Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
+ shortcutIntent.setClass(getActivity(), LaunchVPN.class);
+ shortcutIntent.putExtra(LaunchVPN.EXTRA_KEY, profile.getUUID().toString());
+ shortcutIntent.setAction(Intent.ACTION_MAIN);
+ shortcutIntent.putExtra("EXTRA_HIDELOG", true);
+
+ PersistableBundle versionExtras = new PersistableBundle();
+ versionExtras.putInt("version", SHORTCUT_VERSION);
+
+ return new ShortcutInfo.Builder(getContext(), profile.getUUIDString())
+ .setShortLabel(profile.getName())
+ .setLongLabel(getString(R.string.qs_connect, profile.getName()))
+ .setIcon(Icon.createWithResource(getContext(), R.drawable.ic_shortcut_vpn_key))
+ .setIntent(shortcutIntent)
+ .setExtras(versionExtras)
+ .build();
+ }
class MiniImageGetter implements ImageGetter {
@@ -150,6 +296,9 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
public void onResume() {
super.onResume();
setListAdapter();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
+ updateDynamicShortcuts();
+ }
VpnStatus.addStateListener(this);
}
@@ -211,13 +360,49 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
}
+ static class VpnProfileLRUComparator implements Comparator<VpnProfile> {
+
+ VpnProfileNameComparator nameComparator = new VpnProfileNameComparator();
+
+ @Override
+ public int compare(VpnProfile lhs, VpnProfile rhs) {
+ if (lhs == rhs)
+ // Catches also both null
+ return 0;
+
+ if (lhs == null)
+ return -1;
+ if (rhs == null)
+ return 1;
+
+ // Copied from Long.compare
+ if (lhs.mLastUsed > rhs.mLastUsed)
+ return -1;
+ if (lhs.mLastUsed < rhs.mLastUsed)
+ return 1;
+ else
+ return nameComparator.compare(lhs, rhs);
+ }
+ }
+
+
private void setListAdapter() {
- if (mArrayadapter==null) {
+ if (mArrayadapter == null) {
mArrayadapter = new VPNArrayAdapter(getActivity(), R.layout.vpn_list_item, R.id.vpn_item_title);
}
+ populateVpnList();
+ }
+
+ private void populateVpnList() {
+ boolean sortByLRU = Preferences.getDefaultSharedPreferences(getActivity()).getBoolean(PREF_SORT_BY_LRU, false);
Collection<VpnProfile> allvpn = getPM().getProfiles();
- TreeSet<VpnProfile> sortedset = new TreeSet<VpnProfile>(new VpnProfileNameComparator());
+ TreeSet<VpnProfile> sortedset;
+ if (sortByLRU)
+ sortedset = new TreeSet<>(new VpnProfileLRUComparator());
+ else
+ sortedset = new TreeSet<>(new VpnProfileNameComparator());
+
sortedset.addAll(allvpn);
mArrayadapter.clear();
mArrayadapter.addAll(sortedset);
@@ -240,6 +425,13 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
.setAlphabeticShortcut('i')
.setTitleCondensed(getActivity().getString(R.string.menu_import_short))
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+
+ menu.add(0, MENU_CHANGE_SORTING, 0, R.string.change_sorting)
+ .setIcon(R.drawable.ic_sort)
+ .setAlphabeticShortcut('s')
+ .setTitleCondensed(getString(R.string.sort))
+ .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+
}
@@ -251,11 +443,29 @@ public class VPNProfileList extends ListFragment implements OnClickListener, Vpn
return true;
} else if (itemId == MENU_IMPORT_PROFILE) {
return startImportConfigFilePicker();
+ } else if (itemId == MENU_CHANGE_SORTING) {
+ return changeSorting();
} else {
return super.onOptionsItemSelected(item);
}
}
+ private boolean changeSorting() {
+ SharedPreferences prefs = Preferences.getDefaultSharedPreferences(getActivity());
+ boolean oldValue = prefs.getBoolean(PREF_SORT_BY_LRU, false);
+ SharedPreferences.Editor prefsedit = prefs.edit();
+ if (oldValue) {
+ Toast.makeText(getActivity(), R.string.sorted_az, Toast.LENGTH_SHORT).show();
+ prefsedit.putBoolean(PREF_SORT_BY_LRU, false);
+ } else {
+ prefsedit.putBoolean(PREF_SORT_BY_LRU, true);
+ Toast.makeText(getActivity(), R.string.sorted_lru, Toast.LENGTH_SHORT).show();
+ }
+ prefsedit.apply();
+ populateVpnList();
+ return true;
+ }
+
@Override
public void onClick(View v) {
switch (v.getId()) {
diff --git a/main/src/main/java/de/blinkt/openvpn/views/ScreenSlidePagerAdapter.java b/main/src/main/java/de/blinkt/openvpn/views/ScreenSlidePagerAdapter.java
index fcec1234..38bb54b5 100644
--- a/main/src/main/java/de/blinkt/openvpn/views/ScreenSlidePagerAdapter.java
+++ b/main/src/main/java/de/blinkt/openvpn/views/ScreenSlidePagerAdapter.java
@@ -33,7 +33,7 @@ public class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public Class<? extends Fragment> fragmentClass;
String mName;
- public Tab(Class<? extends Fragment> fClass, @StringRes String name){
+ public Tab(Class<? extends Fragment> fClass, String name){
mName = name;
fragmentClass = fClass;
}
diff --git a/main/src/main/res/drawable-hdpi/ic_quick.png b/main/src/main/res/drawable-hdpi/ic_quick.png
new file mode 100644
index 00000000..343d6c5a
--- /dev/null
+++ b/main/src/main/res/drawable-hdpi/ic_quick.png
Binary files differ
diff --git a/main/src/main/res/drawable-hdpi/ic_sort_white_24dp.png b/main/src/main/res/drawable-hdpi/ic_sort_white_24dp.png
new file mode 100644
index 00000000..55a429b6
--- /dev/null
+++ b/main/src/main/res/drawable-hdpi/ic_sort_white_24dp.png
Binary files differ
diff --git a/main/src/main/res/drawable-hdpi/ic_stat_vpn.png b/main/src/main/res/drawable-hdpi/ic_stat_vpn.png
index 788cbd32..a2a7cfd0 100644
--- a/main/src/main/res/drawable-hdpi/ic_stat_vpn.png
+++ b/main/src/main/res/drawable-hdpi/ic_stat_vpn.png
Binary files differ
diff --git a/main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png b/main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png
index 7df5b670..41f41ed8 100644
--- a/main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png
+++ b/main/src/main/res/drawable-hdpi/ic_stat_vpn_empty_halo.png
Binary files differ
diff --git a/main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png b/main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png
index 8aa48803..32b6bb58 100644
--- a/main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png
+++ b/main/src/main/res/drawable-hdpi/ic_stat_vpn_offline.png
Binary files differ
diff --git a/main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png b/main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png
index b5583d99..876e260d 100644
--- a/main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png
+++ b/main/src/main/res/drawable-hdpi/ic_stat_vpn_outline.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_quick.png b/main/src/main/res/drawable-mdpi/ic_quick.png
new file mode 100644
index 00000000..83285eeb
--- /dev/null
+++ b/main/src/main/res/drawable-mdpi/ic_quick.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_sort_white_24dp.png b/main/src/main/res/drawable-mdpi/ic_sort_white_24dp.png
new file mode 100644
index 00000000..3d84a444
--- /dev/null
+++ b/main/src/main/res/drawable-mdpi/ic_sort_white_24dp.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_stat_vpn.png b/main/src/main/res/drawable-mdpi/ic_stat_vpn.png
index e1dbeb33..08944e20 100644
--- a/main/src/main/res/drawable-mdpi/ic_stat_vpn.png
+++ b/main/src/main/res/drawable-mdpi/ic_stat_vpn.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png b/main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png
index fc039a82..57a88729 100644
--- a/main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png
+++ b/main/src/main/res/drawable-mdpi/ic_stat_vpn_empty_halo.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png b/main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png
index f31387a4..8760fede 100644
--- a/main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png
+++ b/main/src/main/res/drawable-mdpi/ic_stat_vpn_offline.png
Binary files differ
diff --git a/main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png b/main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png
index 052aef9d..1338f1e3 100644
--- a/main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png
+++ b/main/src/main/res/drawable-mdpi/ic_stat_vpn_outline.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_quick.png b/main/src/main/res/drawable-xhdpi/ic_quick.png
new file mode 100644
index 00000000..70dc3593
--- /dev/null
+++ b/main/src/main/res/drawable-xhdpi/ic_quick.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_sort_white_24dp.png b/main/src/main/res/drawable-xhdpi/ic_sort_white_24dp.png
new file mode 100644
index 00000000..6d4af1bc
--- /dev/null
+++ b/main/src/main/res/drawable-xhdpi/ic_sort_white_24dp.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_stat_vpn.png b/main/src/main/res/drawable-xhdpi/ic_stat_vpn.png
index 605d9936..2725bc13 100644
--- a/main/src/main/res/drawable-xhdpi/ic_stat_vpn.png
+++ b/main/src/main/res/drawable-xhdpi/ic_stat_vpn.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png
index 2f61e890..052e7254 100644
--- a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png
+++ b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_empty_halo.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png
index e9411518..90598708 100644
--- a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png
+++ b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_offline.png
Binary files differ
diff --git a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png
index 5d27240d..52bc417a 100644
--- a/main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png
+++ b/main/src/main/res/drawable-xhdpi/ic_stat_vpn_outline.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_quick.png b/main/src/main/res/drawable-xxhdpi/ic_quick.png
new file mode 100644
index 00000000..5adc85c1
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_quick.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_sort_white_24dp.png b/main/src/main/res/drawable-xxhdpi/ic_sort_white_24dp.png
new file mode 100644
index 00000000..b8ef1050
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_sort_white_24dp.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_stat_vpn.png b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn.png
new file mode 100644
index 00000000..6290290b
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.png b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.png
new file mode 100644
index 00000000..8587f499
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_empty_halo.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.png b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.png
new file mode 100644
index 00000000..5d19172f
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_offline.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.png b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.png
new file mode 100644
index 00000000..18204bd7
--- /dev/null
+++ b/main/src/main/res/drawable-xxhdpi/ic_stat_vpn_outline.png
Binary files differ
diff --git a/main/src/main/res/drawable-xxhdpi/icon.png b/main/src/main/res/drawable-xxhdpi/icon.png
deleted file mode 100644
index 16afb418..00000000
--- a/main/src/main/res/drawable-xxhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/main/src/main/res/drawable-xxxhdpi/ic_sort_white_24dp.png b/main/src/main/res/drawable-xxxhdpi/ic_sort_white_24dp.png
new file mode 100644
index 00000000..4796c33b
--- /dev/null
+++ b/main/src/main/res/drawable-xxxhdpi/ic_sort_white_24dp.png
Binary files differ
diff --git a/main/src/main/res/drawable/ic_shortcut_cancel.xml b/main/src/main/res/drawable/ic_shortcut_cancel.xml
new file mode 100644
index 00000000..7fd187ae
--- /dev/null
+++ b/main/src/main/res/drawable/ic_shortcut_cancel.xml
@@ -0,0 +1,21 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="48dp"
+ android:height="48dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0"
+ android:strokeColor="#00000000"
+ android:fillColor="#F5F5F5"
+ android:strokeWidth="1"/>
+ <path
+ android:pathData="M24,14C18.47,14 14,18.47 14,24C14,29.53 18.47,34 24,34C29.53,34 34,29.53 34,24C34,18.47 29.53,14 24,14L24,14ZM29,27.59L27.59,29L24,25.41L20.41,29L19,27.59L22.59,24L19,20.41L20.41,19L24,22.59L27.59,19L29,20.41L25.41,24L29,27.59L29,27.59Z"
+ android:strokeColor="#00000000"
+ android:fillColor="#3F51B5"
+ android:strokeWidth="1"/>
+</vector>
diff --git a/main/src/main/res/drawable/ic_shortcut_vpn_key.xml b/main/src/main/res/drawable/ic_shortcut_vpn_key.xml
new file mode 100644
index 00000000..6d1c010a
--- /dev/null
+++ b/main/src/main/res/drawable/ic_shortcut_vpn_key.xml
@@ -0,0 +1,21 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="48dp"
+ android:height="48dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0"
+ android:strokeColor="#00000000"
+ android:fillColor="#F5F5F5"
+ android:strokeWidth="1"/>
+ <path
+ android:pathData="M24.65,22C23.83,19.67 21.61,18 19,18C15.69,18 13,20.69 13,24C13,27.31 15.69,30 19,30C21.61,30 23.83,28.33 24.65,26L29,26L29,30L33,30L33,26L35,26L35,22L24.65,22L24.65,22ZM19,26C17.9,26 17,25.1 17,24C17,22.9 17.9,22 19,22C20.1,22 21,22.9 21,24C21,25.1 20.1,26 19,26L19,26Z"
+ android:strokeColor="#00000000"
+ android:fillColor="#3F51B5"
+ android:strokeWidth="1"/>
+</vector>
diff --git a/main/src/main/res/layout/about.xml b/main/src/main/res/layout/about.xml
index fbfcadfc..09a872f7 100644
--- a/main/src/main/res/layout/about.xml
+++ b/main/src/main/res/layout/about.xml
@@ -42,18 +42,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="all"
- android:text="@string/copyright_guicode" />
+ android:text="@string/copyright_logo" />
<Space
android:layout_width="match_parent"
android:layout_height="12sp" />
<TextView
- android:id="@+id/donatestring"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:text="@string/donatewithpaypal"
- tools:ignore="SelectableText" />
+ android:autoLink="all"
+ android:text="@string/copyright_guicode" />
<TextView
diff --git a/main/src/main/res/layout/basic_settings.xml b/main/src/main/res/layout/basic_settings.xml
index 94963d9e..862f54b1 100644
--- a/main/src/main/res/layout/basic_settings.xml
+++ b/main/src/main/res/layout/basic_settings.xml
@@ -52,7 +52,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
- tools:visibility="visible">
+ tools:visibility="gone">
<include layout="@layout/keystore_selector" />
@@ -105,7 +105,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:visibility="gone" >
+ android:visibility="gone"
+ tools:visibility="visible">
<TextView
style="@style/item"
@@ -159,6 +160,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
+ tools:visibility="visible"
android:visibility="gone" >
<TextView
@@ -189,6 +191,23 @@
android:layout_marginRight="8dip"
android:hint="@string/pw_query_hint"
android:inputType="textPassword" />
+
+ <TextView
+ style="@style/item"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:text="@string/auth_failed_behaviour"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+
+ <Spinner
+ android:id="@+id/auth_retry"
+ style="@style/item"
+ android:layout_marginLeft="8dip"
+ android:layout_marginRight="8dip"
+ android:prompt="@string/auth_failed_behaviour"
+ android:entries="@array/auth_retry_type"
+ />
+
</LinearLayout>
<LinearLayout
diff --git a/main/src/main/res/layout/config_converter.xml b/main/src/main/res/layout/config_converter.xml
index ec248cd4..4070ff7c 100644
--- a/main/src/main/res/layout/config_converter.xml
+++ b/main/src/main/res/layout/config_converter.xml
@@ -21,12 +21,16 @@
android:layout_height="wrap_content">
<TextView
+ android:visibility="gone"
+ android:id="@+id/profilename_label"
style="@style/item"
+ android:labelFor="@id/profilename"
android:text="@string/profilename"
android:textAppearance="?android:attr/textAppearanceSmall"
/>
<EditText
+ android:visibility="gone"
android:id="@+id/profilename"
style="@style/item"
android:inputType="text" />
diff --git a/main/src/main/res/layout/graph.xml b/main/src/main/res/layout/graph.xml
new file mode 100644
index 00000000..d734623e
--- /dev/null
+++ b/main/src/main/res/layout/graph.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+
+ <TextView
+ android:id="@+id/speedStatus"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ tools:text="some speed status" />
+
+ <CheckBox
+ android:id="@+id/useLogScale"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@id/speedStatus"
+ android:text="@string/use_logarithmic_scale" />
+
+ <ListView
+ android:id="@+id/graph_listview"
+ android:layout_above="@id/useLogScale"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+
+</RelativeLayout> \ No newline at end of file
diff --git a/main/src/main/res/layout/graph_item.xml b/main/src/main/res/layout/graph_item.xml
new file mode 100644
index 00000000..da90342b
--- /dev/null
+++ b/main/src/main/res/layout/graph_item.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:padding="8dp">
+
+ <TextView
+ android:id="@+id/tvName"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true"
+ android:layout_marginLeft="4dp"
+ android:layout_marginStart="4dp"
+ tools:text="Medium Text"
+ android:textSize="16sp" />
+
+ <com.github.mikephil.charting.charts.LineChart
+ android:layout_below="@id/tvName"
+ android:id="@+id/chart"
+ android:layout_width="match_parent"
+ android:layout_height="200dp" />
+
+</RelativeLayout> \ No newline at end of file
diff --git a/main/src/main/res/layout/launchvpn.xml b/main/src/main/res/layout/launchvpn.xml
new file mode 100644
index 00000000..245d2f01
--- /dev/null
+++ b/main/src/main/res/layout/launchvpn.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical" android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <ProgressBar
+ android:layout_gravity="center"
+ style="?android:attr/progressBarStyleLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+</FrameLayout> \ No newline at end of file
diff --git a/main/src/main/res/layout/server_card.xml b/main/src/main/res/layout/server_card.xml
index eaedcf58..e24a8fd7 100644
--- a/main/src/main/res/layout/server_card.xml
+++ b/main/src/main/res/layout/server_card.xml
@@ -71,7 +71,7 @@
android:layout_toStartOf="@id/portnumber"
android:inputType="textUri"
android:singleLine="true"
- android:text="openvpn.blinkt.de"
+ tools:text="openvpn.blinkt.de"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
tools:ignore="HardcodedText" />
@@ -170,6 +170,8 @@
android:layout_alignParentEnd="true"
android:layout_below="@+id/connect_timeout_label"
android:ems="3"
+ tools:text="232"
+ android:gravity="end"
android:inputType="numberDecimal" />
<SeekBar
diff --git a/main/src/main/res/layout/vpnstatus.xml b/main/src/main/res/layout/vpnstatus.xml
index b304ad10..3b464b62 100644
--- a/main/src/main/res/layout/vpnstatus.xml
+++ b/main/src/main/res/layout/vpnstatus.xml
@@ -43,8 +43,9 @@
style="@style/logWindowStatusTitle"/>
<TextView
+
android:id="@+id/speedStatus"
- tools:text="Connected"
+ tools:text="Connected to a very long ipv4 and 3483489348238824829482384928"
style="@style/logWindowStatusText"/>
diff --git a/main/src/main/res/values-ca/arrays.xml b/main/src/main/res/values-ca/arrays.xml
index 6be74bb5..a429d29b 100755
--- a/main/src/main/res/values-ca/arrays.xml
+++ b/main/src/main/res/values-ca/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificats</item>
<item>Fitxer PKCS12</item>
@@ -12,8 +17,9 @@
<item>Usuari/Con + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Sense especificar</item>
+ <item>Encryption (--tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-ca/plurals.xml b/main/src/main/res/values-ca/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-ca/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-ca/strings.xml b/main/src/main/res/values-ca/strings.xml
index 1fcfb708..4f943942 100755
--- a/main/src/main/res/values-ca/strings.xml
+++ b/main/src/main/res/values-ca/strings.xml
@@ -37,7 +37,6 @@
<string name="no_error_found">No s\'ha trobat cap error</string>
<string name="config_error_found">S\'ha trobat un error a la configuració</string>
<string name="vpn_shortcut">Acces directe de OpenVPN</string>
- <string name="vpn_launch_title">Conecta a la VPN</string>
<string name="shortcut_profile_notfound">No s\'ha trobat el perfil especificat a l\'accès directe</string>
<string name="random_host_prefix">Prefix aleatoria del host</string>
<string name="route_rejected">La ruta ha estat refusas per Android</string>
@@ -90,7 +89,6 @@
<string name="private_key_password">Contrasenya de la clau privada</string>
<string name="password">Contrasenya</string>
<string name="file_icon">Icona del fitxer</string>
- <string name="tls_authentication">Autentificació TLS</string>
<string name="generated_config">Configuració generada</string>
<string name="owner_fix">Corregir els permisos de /dev/tun</string>
<string name="generated_config_summary">Mostra el fitxer de configuració d\'OpenVPN generat</string>
@@ -109,7 +107,6 @@
<string name="faq_howto_title">Inici rapid</string>
<string name="using_proxy">Utilitzant el proxy %1$s %2$d</string>
<string name="use_system_proxy">Utiliza el proxy del sistema</string>
- <string name="onbootrestart">Torna a conectar al reiniciar</string>
<string name="ignore">Ignorar</string>
<string name="restart">Reinicia</string>
<string name="restart_vpn_after_change">Els canvis de configuració s\'apliquen desprès de reinicar la VPN. (Re)inicar la VPN ara?</string>
diff --git a/main/src/main/res/values-cs/arrays.xml b/main/src/main/res/values-cs/arrays.xml
index 1f44d20f..99925049 100755
--- a/main/src/main/res/values-cs/arrays.xml
+++ b/main/src/main/res/values-cs/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certifikáty</item>
<item>PKCS12 Soubor</item>
@@ -12,9 +17,10 @@
<item>Jméno/Heslo + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0 (server)</item>
- <item>1 (klient)</item>
+ <item translatable="false">0 (server)</item>
+ <item translatable="false">1 (klient)</item>
<item>Nespecifikováno</item>
+ <item>Encryption (--tls-crypt)</item>
</string-array>
<string-array name="crm_entries">
<item>Opětovně nepřipojovat</item>
diff --git a/main/src/main/res/values-cs/plurals.xml b/main/src/main/res/values-cs/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-cs/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-cs/strings.xml b/main/src/main/res/values-cs/strings.xml
index 3ff4057a..4e2684f9 100755
--- a/main/src/main/res/values-cs/strings.xml
+++ b/main/src/main/res/values-cs/strings.xml
@@ -50,7 +50,6 @@
<string name="custom_route_format_error">Chyba při zpracování vlastního směrování</string>
<string name="pw_query_hint">(nechej prázdné pro dotazování, až bude potřeba)</string>
<string name="vpn_shortcut">OpenVPN zkratka</string>
- <string name="vpn_launch_title">Připojit k VPN</string>
<string name="shortcut_profile_notfound">Profil zvolený ve zkratce nenalezen</string>
<string name="random_host_prefix">Náhodný prefix klienta</string>
<string name="random_host_summary">Přidej 6 náhodných znaků před jméno klienta (hostname)</string>
@@ -164,7 +163,6 @@
<string name="private_key_password">Heslo k soukromému klíči</string>
<string name="password">Heslo</string>
<string name="file_icon">ikona souboru</string>
- <string name="tls_authentication">TLS autentikace</string>
<string name="generated_config">Vygenerované nastavení</string>
<string name="generalsettings">Nastavení</string>
<string name="owner_fix_summary">Pokusit se nastavit vlastníka /dev/tun zařízení. Na některých systémech s CM9 je toto potřeba pro zprovoznění VPNService API. Vyžaduje root zařízení.</string>
@@ -202,9 +200,6 @@
<string name="using_proxy">Používám proxy %1$s %2$d</string>
<string name="use_system_proxy">Použít systémovou proxy</string>
<string name="use_system_proxy_summary">K připojení použít systémové nastavení pro HTTP/HTTPS.</string>
- <string name="donatewithpaypal">K přispění můžeš využít &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN se opětovně připojí k VPN, pokud byla aktivní před vypnutím/restartem systému. Přečti si oddíl o varování před připojením než použiješ tuto možnost.</string>
- <string name="onbootrestart">Znovu připoj po restartu</string>
<string name="ignore">Ignorovat</string>
<string name="restart">Restartovat</string>
<string name="restart_vpn_after_change">Změna nastavení začne platit až po restartu VPN. Restartovat teď?</string>
@@ -251,7 +246,6 @@
<string name="state_tcp_connect">Připojuji (TCP)</string>
<string name="state_auth_failed">Přihlášení nebylo úspěšné</string>
<string name="state_nonetwork">Čekání na použitelnou síť</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Nepřipojeno</string>
<string name="start_vpn_title">Připojování k VPN %s</string>
<string name="start_vpn_ticker">Připojování k VPN %s</string>
diff --git a/main/src/main/res/values-de/arrays.xml b/main/src/main/res/values-de/arrays.xml
index d5eb87f6..10ac9568 100755
--- a/main/src/main/res/values-de/arrays.xml
+++ b/main/src/main/res/values-de/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Zertifikate</item>
<item>PKCS12-Datei</item>
@@ -12,9 +17,10 @@
<item>Nutzer/PW + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Unspezifiziert</item>
+ <item>Verschlüsselung (tls-crypt)</item>
</string-array>
<string-array name="crm_entries">
<item>Keine erneuter Verbindungsversuch</item>
@@ -23,4 +29,9 @@
<item>Fünfzig Verbindungsversuche</item>
<item>Unbegrenzte Anzahl Verbindungsversuche</item>
</string-array>
+ <string-array name="auth_retry_type">
+ <item>Trennen, Passwort vergessen</item>
+ <item>Trennen, Passwort merken</item>
+ <item>Fehler Ignorieren, neu verbinden</item>
+ </string-array>
</resources>
diff --git a/main/src/main/res/values-de/plurals.xml b/main/src/main/res/values-de/plurals.xml
new file mode 100755
index 00000000..1737fa7a
--- /dev/null
+++ b/main/src/main/res/values-de/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Ein Monat verbleibend</item>
+ <item quantity="other">%d Monate verbleibend</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Ein Tag verbleibend</item>
+ <item quantity="other">%d Tage verbleibend</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Eine Stunde verbleibend</item>
+ <item quantity="other">%d Stunden verbleibend</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Ein Minute verbleibend</item>
+ <item quantity="other">%d Minuten verbleibend</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-de/strings.xml b/main/src/main/res/values-de/strings.xml
index 7b85704e..5834f321 100755
--- a/main/src/main/res/values-de/strings.xml
+++ b/main/src/main/res/values-de/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Profilname bereits vorhanden. Bitte vergeben Sie einen eindeutigen Profilnamen.</string>
<string name="profilename">Profilname</string>
<string name="no_keystore_cert_selected">Kein Benutzerzertifikat ausgewählt</string>
+ <string name="no_ca_cert_selected">Kein Benutzerzertifikat ausgewählt.</string>
<string name="no_error_found">Kein Fehler.</string>
<string name="config_error_found">Fehler in der Konfiguration</string>
- <string name="ipv4_format_error">Fehler beim Auflösen der IPv4-Adresse</string>
+ <string name="ipv4_format_error">Kann die konfigurierte IPv4 Adresse nicht parsen</string>
<string name="custom_route_format_error">Kann die manuell angegeben Routen nicht verarbeiten</string>
<string name="pw_query_hint">(Leer lassen, um nicht zu speichern)</string>
<string name="vpn_shortcut">OpenVPN-Verknüpfung</string>
- <string name="vpn_launch_title">VPN verbinden</string>
+ <string name="vpn_launch_title">Verbinde VPN&#8230;</string>
<string name="shortcut_profile_notfound">Von der Verknüpfung referenziertes Profil konnte nicht gefunden werden</string>
<string name="random_host_prefix">Zufälliger Host-Präfix</string>
<string name="random_host_summary">Fügt 6 zufällige Zeichen am Anfang des Hostnamens hinzu</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Passphrase des privaten Schlüssels</string>
<string name="password">Passwort</string>
<string name="file_icon">Dateisymbol</string>
- <string name="tls_authentication">TLS-Authentifizierung</string>
+ <string name="tls_authentication">TLS Authentifizierung/Verschlüsselung</string>
<string name="generated_config">Generierte Konfiguration</string>
<string name="generalsettings">Einstellungen</string>
<string name="owner_fix_summary">Versucht, den Eigentümer von /dev/tun auf system zu ändern. Einige Cyanogenmod 9-ROM-Versionen benötigen diese Option, damit die VPN-API funktioniert. Benötigt root.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Verwende Proxy %1$s %2$d</string>
<string name="use_system_proxy">System-Proxys verwenden</string>
<string name="use_system_proxy_summary">Systemweite Einstellungen für HTTP- und HTTPS-Proxys beim Verbinden verwenden.</string>
- <string name="donatewithpaypal">&lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;Spenden mit PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN wird bei einem Neustart des Telefons das beim Herunterfahren aktive VPN wieder verbinden. Bitte lesen Sie die FAQ \"Warnung beim Verbinden\", bevor Sie diese Option verwenden.</string>
- <string name="onbootrestart">Nach Neustart verbinden</string>
+ <string name="onbootrestartsummary">Beim Systemstart das angegebene VPN verbinden. Auf Geräten mit Android 5.0 und höher bitte vor der Verwendung dieser Option die FAQ zum Bestätigungsdialog lesen.</string>
+ <string name="onbootrestart">Beim Gerätestart verbinden</string>
<string name="ignore">Ignorieren</string>
<string name="restart">Neu verbinden</string>
<string name="restart_vpn_after_change">Konfigurationsänderungen werden erst nach einem Neustart des VPNs aktiv. Jetzt neu verbinden?</string>
@@ -219,7 +219,7 @@
<string name="faq_hint">Werfen Sie auch einen Blick in die FAQ. Dort befindet sich eine Schnellstart-Anleitung.</string>
<string name="faq_routing_title">Routing-/Netzwerk-Konfiguration</string>
<string name="faq_routing">In dieser App wird die Routing- und Netzwerkkonfiguration nicht mit den traditionellen ifconfig-/route-Kommandos konfiguriert, sondern mittels der VPNService-API. Diese erwartet eine Tunnel-IP-Adresse und die Netze, die über den Tunnel geroutet werden sollen. Insbesondere wird keine Gateway- oder Peer-IP-Adresse benötigt. Die Anwendung ignoriert diese daher auch beim Import. Die VPNService-API stellt weiterhin sicher, dass die Verbindung zum VPN-Server nicht über den Tunnel geroutet wird, ohne dass hierfür spezielle Routen nötig sind. Da nur Netze, die über den Tunnel geroutet werden sollen, angeben werden können, ist es nicht möglich andere Routen zu unterstützen. Die Anwendung versucht daher andere Routen (wie z.B. route x.x.x.x y.y.y.y net_gateway), die nicht über den Tunnel geroutet werden sollen, zu erkennen, und eine Menge von Routen zu berechnen, die das Verhalten auf anderen Plattformen emulieren. Das Verbindungsprotokoll zeigt die genaue Konfiguration und die errechneten Routen beim Verbinden an.</string>
- <string name="persisttun_summary">Verhindere Zurückfallen auf nicht VPN Verbindungen während OpenVPN neu verbindet.</string>
+ <string name="persisttun_summary">Während Neuaufbau von VPN-Verbindungen nicht auf andere Verbindungen zurückfallen</string>
<string name="persistent_tun_title">Persistentes tun-Device</string>
<string name="openvpn_log">OpenVPN-Protokoll</string>
<string name="import_config">OpenVPN-Konfiguration importieren</string>
@@ -252,7 +252,7 @@
<string name="state_tcp_connect">Verbinde (TCP)</string>
<string name="state_auth_failed">Authentifizierung fehlgeschlagen</string>
<string name="state_nonetwork">Warte auf Internetverbindung</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Nicht verbunden</string>
<string name="start_vpn_title">Verbinde mit VPN %s</string>
<string name="start_vpn_ticker">Verbinde mit VPN %s</string>
@@ -323,6 +323,7 @@
<string name="import_log">Import-Protokoll:</string>
<string name="ip_looks_like_subnet">VPN-Topologie \"%3$s\" wurde angegeben, die Interface-Konfiguration \'ifconfig %1$s %2$s sieht allerdings wie eine IP-Adresse mit einer Netzwerkmaske aus. Topologie \"subnet\" wird angenommen.</string>
<string name="mssfix_invalid_value">Wert muss eine Zahl zwischen 0 und 9000 sein</string>
+ <string name="mtu_invalid_value">Der MTU-Wert muss eine Zahle zwischen 64 und 9000 sein</string>
<string name="mssfix_value_dialog">TCP-Verbindungen, die über den Tunnel laufen, anweisen, ihre maximale Paketgröße so einzustellen, dass die resultierende UDP-Paketgröße nach der Enkapsulierung durch OpenVPN auf den hier eingestellten Wert beschränkt bleibt. (Standardwert ist 1450)</string>
<string name="mssfix_checkbox">MSS-Wert der TCP-Nutzlast überschreiben</string>
<string name="mssfix_dialogtitle">MSS der TCP-Nutzlast</string>
@@ -392,13 +393,53 @@
<string name="protocol">Protokoll</string>
<string name="enabled_connection_entry">Aktiviert</string>
<string name="abi_mismatch">Bevorzugte native ABI-Reihenfolge dieses Gerätes (%1$s) und die installierten nativen Bibliotheken (%2$s) unterscheiden sich</string>
- <string name="months_left">Noch %d Monate gültig</string>
- <string name="days_left">Noch %d Tage gültig</string>
- <string name="hours_left">Noch %d Stunden gültig</string>
<string name="permission_revoked">VPN-Berechtigung wurde vom Betriebssytem widerrufen (z.B. weil ein anderes VPN gestartet wurde); VPN wird gestoppt</string>
<string name="pushpeerinfo">Peer-Informationen senden</string>
<string name="pushpeerinfosummary">Weitere Informationen, wie z.B. SSL- und Android-Version, an den Server senden</string>
<string name="pw_request_dialog_title">%1$s benötigt</string>
<string name="pw_request_dialog_prompt">Geben Sie bitte das Passwort für das Profil %1$s ein</string>
<string name="menu_use_inline_data">Inline-Daten verwenden</string>
+ <string name="export_config_chooser_title">Konfigurationsdatei exportieren</string>
+ <string name="missing_tlsauth">TLS-Auth-Datei fehlt</string>
+ <string name="missing_certificates">Fehlendes Benutzerzertifikat oder privater Schlüssel</string>
+ <string name="missing_ca_certificate">Fehlendes CA-Zertifikat</string>
+ <string name="crl_title">Zertifikatswiderrufsliste (optional)</string>
+ <string name="reread_log">%d Einträge aus Protokoll-Cache gelesen</string>
+ <string name="samsung_broken">Wenngleich Samsung-Telefone unter den meistverkauften Android-Geräten sind, gehört deren Firmware auch zu den fehlerbehaftetsten aller Android-Geräte. Diese Fehler betreffen nicht nur den Aufbau von VPN-Verbindungen; viele von ihnen können allerdings umgangen werden. Im Folgenden sind einige dieser Fehler beschrieben.\n\nDNS funktioniert nicht, wenn sich der DNS-Server nicht im VPN befindet.\n\nBei vielen Samsung-Geräten mit Android 5.x funktioniert das Sperren/Zulassen von einzelnen Apps nicht.\n\nBei Samsung-Geräten mit Android 6.x wurde berichtet, dass VPN nicht funktioniert, wenn die VPN-App nicht als Ausnahme in den Energiespareinstellungen eingetragen wird.</string>
+ <string name="samsung_broken_title">Samsung-Geräte</string>
+ <string name="novpn_selected">Kein VPN ausgewählt</string>
+ <string name="defaultvpn">Standard-VPN</string>
+ <string name="defaultvpnsummary">Standard VPN. Wird momentan für VPN beim Booten, Always-On-Modus und die Schnellzugriffskachel benutzt.</string>
+ <string name="vpnselected">Derzeit ausgewähltes VPN: \'%s\'</string>
+ <string name="reconnect">Neu verbinden</string>
+ <string name="qs_title">VPN an-/ausschalten</string>
+ <string name="qs_connect">Mit %s verbinden</string>
+ <string name="qs_disconnect">%s trennen</string>
+ <string name="connectretrymaxmessage">Maximale Zeit zwischen Verbindungsversuchen. OpenVPN erhöht die Wartezeit zwischen zwei Verbindungsversuchen schrittweise bis zu dieser Zeit. Der Standardwert ist 300s.</string>
+ <string name="connectretrymaxtitle">Maximale Zeit zwischen Verbindungsversuchen</string>
+ <string name="state_waitconnectretry">Warte %ss Sekunden zwischen zwei Verbindungsversuchen</string>
+ <string name="nought_alwayson_warning"><![CDATA[Wenn der VPN-Bestätigungs-Dialog nicht geöffnet wurde, ist \"Immer auf VPN\" für eine andere Anwendung aktiviert. In diesem Fall darf nur diese APP über VPN verbunden werden. Überprüfen Sie unter Einstellungen-> Netzwerke mehr... -> VPNS]]></string>
+ <string name="management_socket_closed">Verbindung mit OpenVPN getrennt (%s)</string>
+ <string name="change_sorting">Sortierung ändern</string>
+ <string name="sort">Sortieren</string>
+ <string name="sorted_lru">Profile nach letzter Verwendung sortiert</string>
+ <string name="sorted_az">Profile nach Namen sortiert</string>
+ <string name="deprecated_tls_remote">Konfiguration verwendet die Option tls-remote, die in 2.3 als veraltet markiert und schließlich in 2.4 entfernt wurde</string>
+ <string name="auth_failed_behaviour">Verhalten bei AUTH_FAILED</string>
+ <string name="graph">Kurven</string>
+ <string name="use_logarithmic_scale">logarithmische Skala verwnden</string>
+ <string name="notenoughdata">noch keine Daten</string>
+ <string name="avghour">Durchschnitt pro Stunde</string>
+ <string name="avgmin">Durchschnitt pro Minute</string>
+ <string name="last5minutes">letzten 5 Minuten</string>
+ <string name="data_in">Eingehend</string>
+ <string name="data_out">Ausgehend</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-es/arrays.xml b/main/src/main/res/values-es/arrays.xml
index b0df3aa5..93be9eb1 100755
--- a/main/src/main/res/values-es/arrays.xml
+++ b/main/src/main/res/values-es/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificados</item>
<item>Archivo PKCS12</item>
@@ -12,8 +17,9 @@
<item>Usuario/Contraseña + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>No especificado</item>
+ <item>Cifrado (-tLS-cripta)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-es/plurals.xml b/main/src/main/res/values-es/plurals.xml
new file mode 100755
index 00000000..2aa7eab7
--- /dev/null
+++ b/main/src/main/res/values-es/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">%d mes restante</item>
+ <item quantity="other">%d meses restantes</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">%d día restante</item>
+ <item quantity="other">%d días restantes</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">%d hora restante</item>
+ <item quantity="other">%d horas restantes</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">%d minuto restanate</item>
+ <item quantity="other">%d minutos restanates</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-es/strings.xml b/main/src/main/res/values-es/strings.xml
index 1fff99ef..a5812bb9 100755
--- a/main/src/main/res/values-es/strings.xml
+++ b/main/src/main/res/values-es/strings.xml
@@ -44,13 +44,13 @@
<string name="duplicate_profile_name">Por favor, introduzca un nombre de perfil único</string>
<string name="profilename">Nombre del Perfil</string>
<string name="no_keystore_cert_selected">Debe seleccionar un certificado de usuario</string>
+ <string name="no_ca_cert_selected">Debe seleccionar un certificado</string>
<string name="no_error_found">No se encontraron errores</string>
<string name="config_error_found">Error en la configuración</string>
<string name="ipv4_format_error">Error al analizar la dirección IPv4</string>
<string name="custom_route_format_error">Error al analizar las rutas personalizadas</string>
<string name="pw_query_hint">(Deje en blanco para consultar sobre demanda)</string>
<string name="vpn_shortcut">Acceso directo de OpenVPN</string>
- <string name="vpn_launch_title">Conectar a VPN</string>
<string name="shortcut_profile_notfound">Perfil especificado en el acceso directo no encontrado</string>
<string name="random_host_prefix">Prefijo aleatorio de Host</string>
<string name="random_host_summary">Agrega 6 caracteres al azar delante del nombre de host</string>
@@ -164,7 +164,7 @@
<string name="private_key_password">Contraseña de clave privada</string>
<string name="password">Contraseña</string>
<string name="file_icon">icono de archivo</string>
- <string name="tls_authentication">Autenticación TLS</string>
+ <string name="tls_authentication">TLS autenticación/cifrado</string>
<string name="generated_config">Configuración generada</string>
<string name="generalsettings">Preferencias</string>
<string name="owner_fix_summary">Intenta establecer el propietario de /dev/tun a system. Algunas imágenes de CM9 lo necesitan hacer funcionar la API de VPNService. Requiere permisos root.</string>
@@ -181,6 +181,7 @@ hacia/de Móvil)</string>
<string name="keychain_nocacert">No se obtuvo ningún certificado de CA al leer el almacén de claves de Android. La autenticación probablemente fallará.</string>
<string name="show_log_summary">Muestra la ventana de registro el conectarse. La ventana de registro siempre puede accederse desde el estado de la notificación.</string>
<string name="show_log_window">Mostrar ventana de registro</string>
+ <string name="mobile_info">%10$s %9$s corriendo en %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Error al firmar con la llave del almacén de llaves de Android %1$s: %2$s</string>
<string name="faq_system_dialogs">El aviso de conectividad VPN que esta aplicación puede interceptar todo el trafico esta impuesta por el sistema para evitar abusos de la API VPNService.\nLa notificación de conectividad (El símbolo de llave) también esta impuesta por el sistema Android para notificar una conexión VPN en curso. En algunas imágenes, esta notificación también emite un sonido.\nAndroid ha introducido estos diálogos de sistema para su seguridad e se ha asegurado que no pueden ser evitados. (En algunas imágenes, esto incluye la notificación sonora)</string>
<string name="faq_system_dialogs_title">Advertencia de conexión y sonido de notificación</string>
@@ -203,9 +204,8 @@ hacia/de Móvil)</string>
<string name="using_proxy">Usando proxy %1$s %2$d</string>
<string name="use_system_proxy">Usar el proxy del sistema</string>
<string name="use_system_proxy_summary">Utilice la configuración del sistema para los proxies HTTP/HTTPS al conectar.</string>
- <string name="donatewithpaypal">Usted puede &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;donar con PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN volvera a conectar a una VPN si estaba activa en el apagado/reinicio del sistema. Por favor lea la P+F de advertencia de conexión antes de usar esta opción.</string>
- <string name="onbootrestart">Vuelva a conectar al reiniciar</string>
+ <string name="onbootrestartsummary">OpenVPN se conectará la VPN se especifica si está activa en el arranque del sistema. Por favor, lea las preguntas frecuentes de aviso de conexión antes de utilizar esta opción en Android &lt; 5.0.</string>
+ <string name="onbootrestart">Volver a conectar al reiniciar</string>
<string name="ignore">Ignorar</string>
<string name="restart">Reiniciar</string>
<string name="restart_vpn_after_change">Los cambios de configuración se aplican después de reiniciar la VPN. ¿(Re)iniciar la VPN ahora?</string>
@@ -252,7 +252,6 @@ hacia/de Móvil)</string>
<string name="state_tcp_connect">Conectando (TCP)</string>
<string name="state_auth_failed">Fallo de autenticación</string>
<string name="state_nonetwork">Esperando por una red que se pueda usar</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">No conectado</string>
<string name="start_vpn_title">Conectando a VPN %s</string>
<string name="start_vpn_ticker">Conectando a VPN %s</string>
@@ -373,4 +372,28 @@ hacia/de Móvil)</string>
<string name="custom_connection_options_warng">Especifique las opciones específicas de conexión personalizada. Úselo con cuidado</string>
<string name="custom_connection_options">Opciones personalizadas</string>
<string name="remove_connection_entry">Eliminar entrada de conexión</string>
+ <string name="ab_kitkat_reconnect_title">Desconexiones aleatorias de la red móvil</string>
+ <string name="ab_vpn_reachability_44_title">Redes remotas inalcanzables</string>
+ <string name="ab_persist_tun_title">Modo Tun Persistente</string>
+ <string name="version_and_later">%s y siguientes</string>
+ <string name="tls_cipher_alert_title">Falló la conexion con SSL23_GET_SERVER_HELLO: sslv3 alerta de falla de handshake</string>
+ <string name="tls_cipher_alert">OpenVPN más reciente de las versiones de Android (0.6.29 / marzo de 2015) utilizan un defecto más seguro para los conjuntos de cifrado permitidos (TLS-cifrado \"DEFAULT: EXP: PSK: SRP: KRSA\"). Por desgracia, omitiendo el cifrado y la exportación de cifrado menos seguro, especialmente la omisión de conjuntos de cifrado que no admiten la confidencialidad directa perfecta (Diffie-Hellman) causa algunos problemas. Esto suele deberse a un intento bien intencionado pero mal ejecutada para reforzar la seguridad TLS configurando TLS-cifrado en el servidor o algunos sistemas operativos embebidos con simplificada SSL (por ejemplo MikroTik). \ N Para resolver este problema el problema, establezca el TLS-cifrado configuración en el servidor a los valores razonables como TLS-cifrado \"dEFAULT: EXP: PSK: SRP: KRSA\". Para solucionar el problema en el cliente agregar la omisión de las opciones de encargo-TLS cifrado en el cliente Android.</string>
+ <string name="message_no_user_edit">Este perfil ha sido añadido desde una aplicación externa (%s) y se ha marcado como no editable por el usuario.</string>
+ <string name="crl_file">Lista de revocación de certificados</string>
+ <string name="service_restarted">Servicio OpenVPN reinicio (App estrelló probablemente se estrelló o muerto por la presión de memoria)</string>
+ <string name="import_config_error">Importación de la configuración produjo un error, no puede guardarlo</string>
+ <string name="Search">Buscar</string>
+ <string name="lastdumpdate">(Última volcado tiene %1$d: %2$dh de edad (%3$s))</string>
+ <string name="clear_log_on_connect">Borrar registro de nueva conexión</string>
+ <string name="connect_timeout">Timeout de conexion</string>
+ <string name="no_allowed_app">No aplicación permitido añadió. Adición de nosotros mismos (%s) que tiene al menos una aplicación en la lista de aplicaciones permitido para no permitir que todas las aplicaciones
+</string>
+ <string name="query_permissions_sdcard">OpenVPN para Android puede tratar de encontrar el/los archivo/s faltante/s en la tarjeta de memoria automáticamente. Toque este mensaje de iniciar la solicitud de permiso.</string>
+ <string name="protocol">Protocolo</string>
+ <string name="enabled_connection_entry">Activo</string>
+ <string name="missing_ca_certificate">Falta certificado CA</string>
+ <string name="reread_log">Vuelva a leer (%d) artículos de archivo de caché de registro log</string>
+ <string name="samsung_broken">A pesar de que los teléfonos Samsung son algunos de los teléfonos Android más vendidos, el firmware de Samsung se encuentran entre los firmware con más errores. Los errores no se limitan a la operación del VPN en estos dispositivos, pero muchos de ellos se pueden solucionar. A continuación de describen algunos errores. \n\n El DNS no funciona a menos que el servidor DNS en el rango del VPN. \n \n En muchos dispositivos Samsung 5.x la funcionalidad de aplicaciones permitidas y no permitidas no funciona. \n En Samsung 6.x Se reporta que VPN no funcionará a menos que la aplicación de VPN se encuentre por fuera de la funcionalidad de ahorro de energía.</string>
+ <string name="samsung_broken_title">Celulares Samsung</string>
+ <string name="novpn_selected">VPN no seleccionado.</string>
</resources>
diff --git a/main/src/main/res/values-et/arrays.xml b/main/src/main/res/values-et/arrays.xml
index 41319316..7f8742eb 100755
--- a/main/src/main/res/values-et/arrays.xml
+++ b/main/src/main/res/values-et/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Sertifikaadid</item>
<item>PKCS12 fail</item>
@@ -12,8 +17,14 @@
<item>Kasutaja/Parool + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Määratlemata</item>
+ <item>Encryption (--tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Disconnect, forget password</item>
+ <item>Disconnect, keep password</item>
+ <item>Ignoreeri, proovi uuesti</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-et/plurals.xml b/main/src/main/res/values-et/plurals.xml
new file mode 100755
index 00000000..829589b6
--- /dev/null
+++ b/main/src/main/res/values-et/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Jäänud üks kuu</item>
+ <item quantity="other">Jäänud %d kuud</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Jäänud üks päev</item>
+ <item quantity="other">Jäänud %d päeva</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Jäänud üks tund</item>
+ <item quantity="other">Jäänud %d tundi</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Jäänud üks minut</item>
+ <item quantity="other">Jäänud %d minutit</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-et/strings.xml b/main/src/main/res/values-et/strings.xml
index 7e40eb3a..2a82efb7 100755
--- a/main/src/main/res/values-et/strings.xml
+++ b/main/src/main/res/values-et/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Palun sisestage unikaalne profiilinimi</string>
<string name="profilename">Profiili nimi</string>
<string name="no_keystore_cert_selected">Peate valima kasutaja sertifikaadi</string>
+ <string name="no_ca_cert_selected">Peate valima CA sertifikaadi</string>
<string name="no_error_found">Vigu ei leitud</string>
<string name="config_error_found">Konfiguratsiooni viga</string>
<string name="ipv4_format_error">Sisestatud IPv4 aadress ei allu süntaksianalüüsile</string>
<string name="custom_route_format_error">Kohandatud marsruudid ei allu süntaksianalüüsile</string>
<string name="pw_query_hint">(jäta tühjaks, küsitakse vajadusel)</string>
<string name="vpn_shortcut">OpenVPN kiirkäivitus</string>
- <string name="vpn_launch_title">Ühendu VPN\'iga</string>
+ <string name="vpn_launch_title">Ühendumine VPN külge&#8230;</string>
<string name="shortcut_profile_notfound">Lühivalikus määratud profiil puudub</string>
<string name="random_host_prefix">Juhuslik serveri eesliide</string>
<string name="random_host_summary">Lisab 6 juhuslikku tähte serveri nime ette</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Privaatse võtme salasõna</string>
<string name="password">Salasõna</string>
<string name="file_icon">faili ikoon</string>
- <string name="tls_authentication">TLS autentimine</string>
+ <string name="tls_authentication">TLS Autentimine/Krüpteerimine</string>
<string name="generated_config">Genereeritud konfiguratsioon</string>
<string name="generalsettings">Seaded</string>
<string name="owner_fix_summary">Püütakse seada /dev/tun omanikku system\'iks. VPNService API nõuab seda mõne CM9 versiooni puhul. Seade peab olema ruuditud.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Kasutusel proxy %1$s %2$d</string>
<string name="use_system_proxy">Kasuta süsteemset proxy\'t</string>
<string name="use_system_proxy_summary">Kasuta ühendumisel süsteemse HTTP/HTTPS proxy konfiguratsiooni.</string>
- <string name="donatewithpaypal">Sul on võimalus &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;annetada PayPal vahendusel&lt;/a&gt; </string>
- <string name="onbootrestartsummary">Kui VPN oli süsteemi uuestilaadimisel/sulgemisel aktiivne siis taastatakse seadme käivitamisel OpenVPN ühendus. Palun lugege enne selle valiku kasutamist läbi ühendumise hoiatuse KKK.</string>
- <string name="onbootrestart">Uuestilaadimisel ühendu uuesti</string>
+ <string name="onbootrestartsummary">OpenVPN ühendab määratud VPN kui see oli süsteemi käivitumisel aktiivne. Palun tutvuge, enne Android &lt; 5.0 peal selle võimaluse kasutamist, KKK hoiatusega ühendumise kohta.</string>
+ <string name="onbootrestart">Ühenda käivitamisel</string>
<string name="ignore">Ignoreeri</string>
<string name="restart">Uuestilaadimine</string>
<string name="restart_vpn_after_change">Konfiguratsioonimuudatused rakendatakse peale VPN uuestilaadimist. Kas soovite VPN kohe (uuesti)laadida?</string>
@@ -252,7 +252,7 @@
<string name="state_tcp_connect">Ühendumine (TCP)</string>
<string name="state_auth_failed">Autentimine ebaõnnestus</string>
<string name="state_nonetwork">Oodatakse kasutatavat võrku</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Pole ühendatud</string>
<string name="start_vpn_title">Ühendumine VPN %s külge</string>
<string name="start_vpn_ticker">Ühendumine VPN %s külge</string>
@@ -392,7 +392,30 @@
<string name="protocol">Protokoll</string>
<string name="enabled_connection_entry">Lubatud</string>
<string name="abi_mismatch">Selle seadme eelistatud ABI eelisjärjekord (%1$s) ja seadme kaasnevate teekide teatatud ABI (%2$s) ei ühildu</string>
- <string name="months_left">Jäänud on %d kuud</string>
- <string name="days_left">jäänud on %d päeva</string>
- <string name="hours_left">Jäänud on %d tundi</string>
+ <string name="permission_revoked">OS tühistas VPN õigused (nt. töötab teine VPN programm). VPN peatatakse</string>
+ <string name="pushpeerinfo">Saada partneri andmed</string>
+ <string name="pushpeerinfosummary">Saada serverile lisaandmeid, nt. SSL versioon ja Android versioon</string>
+ <string name="pw_request_dialog_title">Vaja %1$s</string>
+ <string name="pw_request_dialog_prompt">Palun sisestage profiili %1$s salasõna</string>
+ <string name="menu_use_inline_data">Kasutage tekstisiseseid andmeid</string>
+ <string name="export_config_chooser_title">Konfiguratsioonifaili eksportimine</string>
+ <string name="missing_tlsauth">puudub tls-auth fail</string>
+ <string name="missing_certificates">Puudub kasutajasertifikaat või kasutajasertifikaadi võtmefail</string>
+ <string name="missing_ca_certificate">Puudub CA sertifikaat</string>
+ <string name="crl_title">Sertifikaatide tühistusnimekiri (valikuline)</string>
+ <string name="reread_log">Taasloe logi puhverfailist (%d) logikirjet</string>
+ <string name="samsung_broken">Vaatamata sellele et Samsungi telefonid on ühed populaarsemad Android telefonid, on Samsungi tarkvara üks auklikumatest Android tarkvarade seas. Probleemid ei piirdu vaid nende seadmete VPN toimingutega kuid on enamasti lahendatavad. Edasine kirjeldab mõnda probleemi.\n\nDNS ei toimi kui DNS server pole VPN vahemikus.\n\nPaljudel Samsungi 5.x seadmetel ei toimi programmide lubamise/keelamise võimalus.\nSamsung 6.x telefonide kohta on teateid et VPN ei tööta kui VPN programmil pole välistatud toitesääst.</string>
+ <string name="samsung_broken_title">Samsungi telefonid</string>
+ <string name="novpn_selected">VPN valimata.</string>
+ <string name="defaultvpn">Vaikimisi VPN</string>
+ <string name="reconnect">Taasühenda</string>
+ <string name="qs_title">VPN lülitamine</string>
+ <string name="qs_connect">Ühendu %s külge</string>
+ <string name="qs_disconnect">Lahuta %s küljest</string>
+ <string name="connectretrymaxmessage">Sisestage suurim ühendumiskatsete vaheline aeg. OpenVPN tõstab ebaõnnestunud ühendumiskatsete puhul aegamööda ooteaega kuni jõuab selle väärtuseni. Vaikeväärtus on 300s.</string>
+ <string name="connectretrymaxtitle">Suurim lubatud ühendumiskatsete vaheline aeg</string>
+ <string name="state_waitconnectretry">Ühendumiskatsete vahel oodatakse %ss sekundit</string>
+ <string name="change_sorting">Muuda sorteerimist</string>
+ <string name="sort">Sorteeri</string>
+ <string name="last5minutes">Viimased 5 minutit</string>
</resources>
diff --git a/main/src/main/res/values-fr/arrays.xml b/main/src/main/res/values-fr/arrays.xml
index 6177a05b..32402de5 100755
--- a/main/src/main/res/values-fr/arrays.xml
+++ b/main/src/main/res/values-fr/arrays.xml
@@ -1,19 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificats</item>
<item>Fichier PKCS12</item>
<item>Certificat Android</item>
- <item>Utilisateur / Mot de passe</item>
+ <item>Nom d\'utilisateur/Mot de passe</item>
<item>Clés statiques</item>
<item>Nom/MDP + Certificats</item>
<item>Nom/MDP + PKCS12</item>
<item>Nom/MDP + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Non spécifié</item>
+ <item>Chiffrement (tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-fr/plurals.xml b/main/src/main/res/values-fr/plurals.xml
new file mode 100755
index 00000000..e9e4c680
--- /dev/null
+++ b/main/src/main/res/values-fr/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Un mois restant</item>
+ <item quantity="other">%d mois restants</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Un jour restant</item>
+ <item quantity="other">%d jours restants</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Une heure restante</item>
+ <item quantity="other">%d heures restantes</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Une minute restante</item>
+ <item quantity="other">%d minutes restantes</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-fr/strings.xml b/main/src/main/res/values-fr/strings.xml
index e4e5fe4f..5b30cee6 100755
--- a/main/src/main/res/values-fr/strings.xml
+++ b/main/src/main/res/values-fr/strings.xml
@@ -5,11 +5,11 @@
~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
-->
<resources>
- <string name="app">"OpenVPN pour Android"</string>
+ <string name="app">OpenVPN for Android</string>
<string name="address">"Adresse du serveur:"</string>
- <string name="port">"Port du serveur:"</string>
+ <string name="port">Port du serveur :</string>
<string name="location">"Emplacement"</string>
- <string name="cant_read_folder">"Le dossier ne peut être lu !"</string>
+ <string name="cant_read_folder">Impossible de lire le dossier</string>
<string name="select">"Sélectionner"</string>
<string name="cancel">"Annuler"</string>
<string name="no_data">"Aucune donnée"</string>
@@ -20,7 +20,7 @@
<string name="client_pkcs12_title">"Fichier PKCS12"</string>
<string name="ca_title">"Certificat CA"</string>
<string name="no_certificate">"Vous devez sélectionner un certificat"</string>
- <string name="copyright_guicode">"Le code source et le tracker de bugs est disponible ici: http://code.google.com/p/ics-openvpn/ "</string>
+ <string name="copyright_guicode">Le code source et le tracker de bugs est disponible sur https://github.com/schwabe/ics-openvpn/</string>
<string name="copyright_others">"Le programme utilise les composants suivants. Voir le code source pour plus de détails sur les licences."</string>
<string name="about">"À propos"</string>
<string name="vpn_list_title">Profils</string>
@@ -29,12 +29,12 @@
<string name="file_select">"Sélectionner…"</string>
<string name="file_nothing_selected">Vous devez sélectionner un fichier</string>
<string name="useTLSAuth">"Utiliser l\'authentification TLS"</string>
- <string name="tls_direction">"Direction de l\'authentification TLS"</string>
- <string name="ipv6_dialog_tile">"Entrez l\'adresse IPv6 / masque de réseau au format CIDR (ex.: 2000:jj::23/64)"</string>
- <string name="ipv4_dialog_title">"Saisissez l\'adresse IPv4 / masque de réseau au format CIDR (ex.: 1.2.3.4/24)"</string>
+ <string name="tls_direction">Direction TLS</string>
+ <string name="ipv6_dialog_tile">Entrez l\'adresse IPv6 / masque de réseau au format CIDR (ex : 2000:jj::23/64)</string>
+ <string name="ipv4_dialog_title">Entrez l\'adresse IPv4 / masque de réseau au format CIDR (ex : 1.2.3.4/24)</string>
<string name="ipv4_address">"Adresse IPv4"</string>
<string name="ipv6_address">"Adresse IPv6"</string>
- <string name="custom_option_warning">"Entrez les options d\'OpenVPN personnalisés. A manipuler avec le plus grand soin. A noter également que de nombreux paramètres Tun d\'OpenVPN ne sont pas pris en charge à cause de la conception de \"VPNSettings\". Si vous pensez qu\'une option importante manque, veuillez contacter l\'auteur"</string>
+ <string name="custom_option_warning">Entrez les options d\'OpenVPN personnalisées. A utiliser avec précaution. A noter aussi que de nombreux paramètres Tun d\'OpenVPN ne sont pas pris en charge à cause de la conception de \"VPNSettings\". Si vous pensez qu\'une option importante manque, veuillez contacter l\'auteur</string>
<string name="auth_username">"Nom d\'utilisateur"</string>
<string name="auth_pwquery">"Mot de passe"</string>
<string name="static_keys_info">"Pour la configuration statique, des clés d\'authentification TLS seront utilisés comme des clés statiques."</string>
@@ -44,27 +44,28 @@
<string name="duplicate_profile_name">Veuillez entrer un nom de profil unique</string>
<string name="profilename">"Nom de profil"</string>
<string name="no_keystore_cert_selected">"Aucun certificat utilisateur sélectionné."</string>
+ <string name="no_ca_cert_selected">Vous devez sélectionner un certificat CA</string>
<string name="no_error_found">"Aucune erreur"</string>
<string name="config_error_found">"Erreur dans la configuration"</string>
<string name="ipv4_format_error">"Impossible d\'analyser l\'adresse IPv4"</string>
- <string name="custom_route_format_error">"Impossible d\'analyser les règles de redirection personnalisés"</string>
- <string name="pw_query_hint">"Laissez vide pour définir si nécessaire"</string>
+ <string name="custom_route_format_error">Impossible d\'analyser les redirections personnalisées</string>
+ <string name="pw_query_hint">(Laisser vide pour interroger sur demande)</string>
<string name="vpn_shortcut">"Raccourci OpenVPN"</string>
- <string name="vpn_launch_title">"Se connecter au VPN"</string>
+ <string name="vpn_launch_title">Connexion à VPN &#8230;</string>
<string name="shortcut_profile_notfound">"Profil spécifié dans raccourci introuvable"</string>
- <string name="random_host_prefix">"Préfixe de l\'hôte au hasard"</string>
+ <string name="random_host_prefix">Préfixe de l\'hôte aléatoire</string>
<string name="random_host_summary">"Ajoute 6 caractères aléatoires en face du nom d\'hôte"</string>
<string name="custom_config_title">"Activer les options personnalisées"</string>
<string name="custom_config_summary">"Spécifiez les options personnalisées. A utiliser avec précaution !"</string>
<string name="route_rejected">"Route rejetée par Android"</string>
- <string name="cancel_connection">"Déconnecter"</string>
+ <string name="cancel_connection">Déconnecter</string>
<string name="cancel_connection_long">Déconnecter le VPN</string>
- <string name="clear_log">"Effacer les logs"</string>
+ <string name="clear_log">effacer le journal</string>
<string name="title_cancel">"Annuler la confirmation"</string>
<string name="cancel_connection_query">"Déconnecter le VPN connecté / annuler la tentative de connexion ?"</string>
- <string name="remove_vpn">"Retirer le VPN"</string>
- <string name="check_remote_tlscert">Vérifier si le serveur utilise des certificats avec les extensions TLS serveur (--remote-cert-tls serveur)</string>
- <string name="check_remote_tlscert_title">Attendre un certificat de serveur TLS</string>
+ <string name="remove_vpn">Supprimer le VPN</string>
+ <string name="check_remote_tlscert">Vérifie si le serveur utilise un certificat avec les extensions de serveur TLS (--remote-cert-tls server)</string>
+ <string name="check_remote_tlscert_title">Attendre le certificat de serveur TLS</string>
<string name="remote_tlscn_check_summary">Vérifie l\'objet du certificat serveur distant DN</string>
<string name="remote_tlscn_check_title">"Vérification du certificat de l\'hôte"</string>
<string name="enter_tlscn_dialog">Spécifiez le contrôle utilisé pour vérifier le certificat à distance DN (par exemple, C=DE, L=Paderborn, OU =Avian IP Carriers, CN=openvpn.blinkt.de)\n\nIndiquez le DN complet ou le RDN (openvpn.blinkt.de dans l\'exemple) ou un préfixe RDN pour vérification.\n\nEn utilisant le préfixe RDN \"Server\" correspond à \"Server-1\" et \"Server 2\"\n\nSi vous laissez le champ de texte vide, cela vérifiera le RDN contre le nom du serveur.\n\nPour plus de détails, voir la page du manuel OpenVPN 2.3.1 sous —verify-x509-name</string>
@@ -73,64 +74,64 @@
<string name="tls_auth_file">"Fichier d\'authentification TLS"</string>
<string name="pull_on_summary">"Demande les adresses IP, les règles de redirection et les options de synchronisation du serveur."</string>
<string name="pull_off_summary">"Aucune information n\'est demandée par le serveur. Les paramètres doivent être spécifiés ci-dessous."</string>
- <string name="use_pull">"Réglages \"Pull\""</string>
- <string name="dns">"DNS"</string>
+ <string name="use_pull">Paramètres \"Pull\"</string>
+ <string name="dns">DNS</string>
<string name="override_dns">"Remplacer les paramètres DNS par le serveur"</string>
- <string name="dns_override_summary">"Utilisez vos propres serveurs DNS"</string>
- <string name="searchdomain">"Domaine"</string>
- <string name="dns1_summary">"Serveur DNS à utiliser."</string>
- <string name="dns_server">"Serveur DNS"</string>
- <string name="secondary_dns_message">"Serveur DNS secondaire utilisé si le serveur DNS principal ne peut pas être atteint."</string>
- <string name="backup_dns">"Serveur DNS secondaire"</string>
- <string name="ignored_pushed_routes">"Ignorer les règles envoyées"</string>
- <string name="ignore_routes_summary">"Ignorer les règles de redirection de ports envoyées par le serveur."</string>
- <string name="default_route_summary">"Redirige tout le trafic sur la connexion VPN"</string>
- <string name="use_default_title">"Utiliser la redirection par défaut"</string>
- <string name="custom_route_message">"Entrez les règles de redirection. N\'entrez la destination qu\'au format CIDR. \"10.0.0.0 / 8 2002::/16\" redirigerait les réseaux 10.0.0.0/8 et 2002::/16 via le VPN."</string>
- <string name="custom_route_message_excluded">Routes qui ne devraient pas être routés via le VPN. Utilisez la même syntaxe que pour les routes incluses.</string>
- <string name="custom_routes_title">"Règles personnalisés"</string>
+ <string name="dns_override_summary">Utilisez vos propres serveurs DNS</string>
+ <string name="searchdomain">suffixe de recherche</string>
+ <string name="dns1_summary">Serveur DNS à utiliser.</string>
+ <string name="dns_server">Serveur DNS</string>
+ <string name="secondary_dns_message">Serveur DNS secondaire utilisé si le serveur DNS principal ne peut pas être joins.</string>
+ <string name="backup_dns">Serveur DNS secondaire</string>
+ <string name="ignored_pushed_routes">Ignorer les routes envoyées</string>
+ <string name="ignore_routes_summary">Ignorer les règles de routage envoyées par le serveur.</string>
+ <string name="default_route_summary">Redirige tout le trafic vers la connexion VPN</string>
+ <string name="use_default_title">Utiliser la route par défaut</string>
+ <string name="custom_route_message">Entrer les règles de routage. Saisissez seulement les destinations au format CIDR. Exemple: \"10.0.0.0/8 2002::/16\" devrait router les réseaux 10.0.0.0/8 et 2002::/16 via le VPN.</string>
+ <string name="custom_route_message_excluded">Routes qui ne devant pas être routées à travers le VPN. Utilisez la même syntaxe que pour les règles de routage.</string>
+ <string name="custom_routes_title">Routes personnalisées</string>
<string name="custom_routes_title_excluded">Réseaux exclus</string>
- <string name="log_verbosity_level">"Niveau de verbosité des logs"</string>
- <string name="float_summary">"Autorise les paquets authentifiés à partir de n\'importe quelle adresse IP"</string>
+ <string name="log_verbosity_level">Niveau de verbosité des logs</string>
+ <string name="float_summary">Autorise les paquets authentifiés à partir de n\'importe quelle adresse IP</string>
<string name="float_title">"Permettre des serveur flottants"</string>
- <string name="custom_options_title">"Options personnalisées"</string>
- <string name="edit_vpn">"Modifier les paramètres VPN"</string>
- <string name="remove_vpn_query">\"Effacer le profil VPN %s ?\"?</string>
- <string name="tun_error_helpful">"Sur certaines ROMs ICS les permissions de /dev/tun peuvent être incorrectes, ou le module Tun peut être manquant. Pour les ROMs CM9, essayez de corriger les options dans \"General Settings\""</string>
- <string name="tun_open_error">"L\'ouverture de l\'interface Tun a échoué."</string>
- <string name="error">"Erreur: "</string>
- <string name="clear">"Effacer"</string>
- <string name="last_openvpn_tun_config">Ouverture de l\'interface tun:</string>
- <string name="local_ip_info">"IPv4 locale: %1$s/%2$d IPv6: %3$s MTU: %4$d"</string>
- <string name="dns_server_info">Serveur DNS: %1$s, Domaine: %2$s</string>
+ <string name="custom_options_title">Options personnalisées</string>
+ <string name="edit_vpn">Modifier les paramètres du VPN</string>
+ <string name="remove_vpn_query">Effacer le profil VPN \"%s\" ?</string>
+ <string name="tun_error_helpful">Sur certaines images ICS les permissions de /dev/tun peuvent être incorrectes, ou encore le module tun peut être manquant. Pour les images CM9, essayez de corriger les permissions via les paramètres généreaux</string>
+ <string name="tun_open_error">L\'ouverture de l\'interface /dev/tun a échouée</string>
+ <string name="error">Erreur :</string>
+ <string name="clear">Effacer</string>
+ <string name="last_openvpn_tun_config">Ouverture de l\'interface tun :</string>
+ <string name="local_ip_info">IPv4 locale : %1$s/%2$d IPv6 : %3$s MTU : %4$d</string>
+ <string name="dns_server_info">Serveur DNS : %1$s, Domaine : %2$s</string>
<string name="routes_info_incl">Routes : %1$s %2$s</string>
<string name="routes_info_excl">Routes exclues : %1$s %2$s</string>
<string name="routes_debug">Routes VpnService installés : %1$s %2$s</string>
- <string name="ip_not_cidr">"Informations récupérées de l\'interface: %1$s et %2$s , en supposant que la seconde adresse est l\'adresse peer du réseau distant. Utilisation du masque de réseau /32 pour l\'IP locale. Mode donné par OpenVPN: \"%3$s\"."</string>
+ <string name="ip_not_cidr">Informations récupérées de l\'interface : %1$s et %2$s , en supposant que la seconde adresse est l\'adresse peer du réseau distant. Utilisation du masque de réseau /32 pour l\'IP locale. Mode donné par OpenVPN : \"%3$s\".</string>
<string name="route_not_cidr">"Ne peut pas donner un sens à %1$s et %2$s comme routage IP avec masque réseau de type CIDR, en utilisant /32 comme masque de réseau."</string>
- <string name="route_not_netip">"Règle de redirection corrigée: %1$s / %2$s en %3$s / %2$s"</string>
+ <string name="route_not_netip">Route corrigée : %1$s / %2$s en %3$s / %2$s</string>
<string name="keychain_access">\"Impossible d\'accéder aux certificats \"Android Keychain\". (Peut être causé par une mise à jour du firmware ou par une restauration d\'une sauvegarde des paramètres de l\'application). Veuillez modifier le profil VPN et sélectionnez de nouveau le certificat dans les réglages de base pour recréer l\'autorisation d\'accéder au certificat.\".</string>
<string name="version_info">"%1$s %2$s"</string>
- <string name="send_logfile">"Envoyer le fichier de log"</string>
- <string name="send">"Envoyer"</string>
+ <string name="send_logfile">Envoyer le fichier de log</string>
+ <string name="send">Envoyer</string>
<string name="ics_openvpn_log_file">"Fichier de log OpenVPN ICS"</string>
- <string name="copied_entry">"Entrée du log copiée"</string>
- <string name="tap_mode">"Mode TAP"</string>
+ <string name="copied_entry">Entrée du journal copié dans le presse papier</string>
+ <string name="tap_mode">Mode Tap</string>
<string name="faq_tap_mode">"Le mode TAP est indisponible avec l\'API non root VPN. Par conséquent, cette application ne peut pas supporter TAP"</string>
<string name="tap_faq2">\"Encore une fois? Vous plaisantez? Le mode TAP n\'est absolument pas pris en charge et l\'envoi de plus d\'e-mails demandant si il sera intégré ne va en rien aider.\".</string>
<string name="tap_faq3">\"Encore une fois ? En fait il est possible que quelqu\'un puisse écrire un émulateur TAP basé sur TUN qui pourrait analyser des informations de type \"layer2\". Mais cet émulateur devrait aussi implémenter ARP et un client DHCP. Je ne suis actuellement pas au courant que quelqu\'un travail dessus. Contactez moi si vous voulez m\'aider là dessus\".</string>
- <string name="faq">"FAQ"</string>
+ <string name="faq">FAQ</string>
<string name="copying_log_entries">"Copie des entrées du log"</string>
<string name="faq_copying">"Pour copier une seule entrée du log restez appuyé sur celle-ci. Pour copier ou envoyer le log au complet utilisez l\'option \"Envoi du Log\". Utilisez le bouton matériel s\'il n\'est pas visible."</string>
<string name="faq_shortcut">"Raccourci pour démarrer"</string>
<string name="faq_howto_shortcut">Vous pouvez placer un raccourci pour démarrer OpenVPN sur l\'écran d\'accueil. En fonction du programme gérant votre écran d\'accueil, vous devez soit ajouter un raccourci, soit un widget.</string>
<string name="no_vpn_support_image">"Votre ROM ne prend pas en charge l\'API VPNService, désolé :("</string>
- <string name="encryption">"Cryptage"</string>
- <string name="cipher_dialog_title">"Entrez la méthode de cryptage"</string>
- <string name="chipher_dialog_message">Entrer l\'algorithme de chiffrement utilisé par OpenVPN. Laisser vide pour utiliser l\'algorithme par défaut.</string>
- <string name="auth_dialog_message">Entrer le digest à utiliser par OpenVPN pour l\'authentification. Laisser vide pour utiliser l\'algorithme par défaut.</string>
- <string name="settings_auth">"Authentification / Cryptage"</string>
- <string name="file_explorer_tab">"Explorateur de fichiers"</string>
+ <string name="encryption">Chiffrement</string>
+ <string name="cipher_dialog_title">Entrez la méthode de chiffrement</string>
+ <string name="chipher_dialog_message">Entrez l\'algorithme de chiffrement utilisé par OpenVPN. Laisser vide pour utiliser le cipher par défaut.</string>
+ <string name="auth_dialog_message">Entrez l\'authentification digest utilisé pour OpenVPN. Laisser vide pour utiliser le digest par défaut.</string>
+ <string name="settings_auth">Authentification / Chiffrement</string>
+ <string name="file_explorer_tab">Explorateur de fichiers</string>
<string name="inline_file_tab">"Fichier personnalisé"</string>
<string name="error_importing_file">"Impossible d\'importer le fichier"</string>
<string name="import_error_message">"Impossible d\'importer le fichier depuis le système de fichiers"</string>
@@ -140,44 +141,44 @@
<string name="menu_import_short">"Importer"</string>
<string name="import_content_resolve_error">"Impossible de lire le profil à importer"</string>
<string name="error_reading_config_file">"Erreur de lecture du fichier de configuration"</string>
- <string name="add_profile">"Ajouter un profil"</string>
+ <string name="add_profile">ajouter un profil</string>
<string name="import_could_not_open">"Impossible de trouver le fichier %1$s mentionné dans le fichier de configuration importé"</string>
<string name="importing_config">"Importation du fichier de configuration depuis %1$s"</string>
- <string name="import_warning_custom_options">Votre configuration a quelques options qui ne sont pas prises en compte par l\'interface utilisateur. Ces options ont donc été ajoutées comme des options de configuration personnalisées:</string>
+ <string name="import_warning_custom_options">Votre configuration a quelques options qui ne sont pas prises en compte par l\'interface utilisateur. Ces options ont donc été ajoutées comme des options de configuration personnalisées :</string>
<string name="import_done">"Fin de la lecture du fichier de configuration."</string>
<string name="nobind_summary">"Ne pas se lier à l\'adresse locale et au port"</string>
<string name="no_bind">"Aucune liaison locale"</string>
- <string name="import_configuration_file">"Importer un fichier de configuration"</string>
+ <string name="import_configuration_file">Importer le fichier de configuration</string>
<string name="faq_security_title">"Considérations de sécurité"</string>
<string name="faq_security">"La stratégie de sécurité d\'OpenVPN amène quelque remarques concernant la sécurité des données saisies. En général, toutes les informations stockées sur la carte SD ne sont pas sécurisées. Toute application peut en obtenir l\'accès (par exemple, ce programme ne requiert aucun droit particulier d\'accès à la carte SD). Dans le cas de ce programme, il est le seul à avoir accès à ces données. En utilisant l\'option d\'importation pour les CaCert/Cert/Key, les données sont stockées dans le porfile VPN. Ce dernier est seulement accessible à cette application. Ainsi, veuillez ne pas oublier de supprimer les copies sur la carte SD après importation. Car, même si l\'application en a l\'exclusivité, les données ne sont pas pour autant cryptées. En \"rootant\" l\'appareil ou par d\'autres exploits il est toujours possible d\'accéder à ces informations. A titre d\'exemple, les mots de passe sont stockés en clair. Pour les fichiers de type Pkfcs12, il est fortement recommandé que vous les importiez dans le gestionnaire de clées d\'Android."</string>
<string name="import_vpn">"Importer"</string>
<string name="broken_image_cert_title">"Erreur d\'affichage certificat sélectionné"</string>
<string name="broken_image_cert">"Exception en essayant d\'afficher le dialogue de sélection du certification d\'Android 4.0+. Ceci ne devrait pas se produire car c\'est une des fonctionnalités de base de ce système. Il est donc possible que votre ROM ne supporte pas le stockage de certfiicats."</string>
<string name="ipv4">"IPv4"</string>
- <string name="ipv6">"IPv6"</string>
- <string name="speed_waiting">Attente du status&#8230;</string>
- <string name="converted_profile">"profil importé"</string>
- <string name="converted_profile_i">"profil importé: %d"</string>
- <string name="broken_images">"Images corrompues "</string>
+ <string name="ipv6">IPv6</string>
+ <string name="speed_waiting">Attente du statut&#8230;</string>
+ <string name="converted_profile">profil importé</string>
+ <string name="converted_profile_i">profil importé %d</string>
+ <string name="broken_images">Images corrompues</string>
<string name="broken_images_faq">&lt;&gt;Les ROMs officielles HTC sont connues pour avoir des problèmes de routage entraînant que le trafic ne passe pas par le tunnel VPN. (C.f.: &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt; dans le \"bug tacker\")&lt;/p&gt;&lt;p&gt;Les ROMs officielles de SONY pour le Xperia Arc S et le Xperia Ray ont été signalé comme ne possédant pas le service VPN. Toute autre ROM SONY peut avoir le même problème. (C.f.: &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt; dans le \"bug tacker\")&lt;/p&gt;&lt;p&gt;Sur les ROM personnalisées le module TUN peut être manquant ou les droits de /dev/tun peuvent être incorrects. Certaines ROM CM9 peuvent nécessiter d\'utiliser l\'option de correction des droits de /dev/tun accessible depuis les \"Options générales\"/&lt;/p&gt;&lt;p&gt;Important: Si votre ROM a un problème, contactez le vendeur, il se peut que qu\'il vous fournisse un patch.&lt;/p&gt;</string>
- <string name="pkcs12_file_encryption_key">"Fichier de clé de cryptage PKCS12"</string>
- <string name="private_key_password">"Mot de passe de clé privée"</string>
- <string name="password">"Mot de passe"</string>
- <string name="file_icon">"icône du fichier"</string>
- <string name="tls_authentication">"Authentification TLS"</string>
- <string name="generated_config">"Configuration générée"</string>
+ <string name="pkcs12_file_encryption_key">Fichier contenant la clé de chiffrement PKCS12</string>
+ <string name="private_key_password">Mot de passe de la clé privée</string>
+ <string name="password">Mot de passe</string>
+ <string name="file_icon">icône du fichier</string>
+ <string name="tls_authentication">TLS Authentification/Cryptage</string>
+ <string name="generated_config">Configuration générée</string>
<string name="generalsettings">Paramètres</string>
- <string name="owner_fix_summary">"Tente de définir le propriétaire de /dev/tun. Certaines ROMs CM9 en ont besoin pour faire fonctionner l\'API VPNService. Nécessite les droits root."</string>
- <string name="owner_fix">"Corriger le propriétaire de /dev/tun"</string>
- <string name="generated_config_summary">"Affiche le fichier de configuration OpenVPN généré"</string>
- <string name="edit_profile_title">"Modification \"%s\""</string>
- <string name="building_configration">"Création de la configuration…"</string>
- <string name="netchange_summary">"L\'activation de cette option forcera l\'appareil à se reconnecter si l\'état du réseau change (ex.: WIFI/Mobile)"</string>
- <string name="netchange">"Reconnexion lors de changement du réseau"</string>
- <string name="netstatus">"État du réseau: %s"</string>
+ <string name="owner_fix_summary">Essaie de définir le propriétaire de l\'interface /dev/tun. Certaines images CM9 en ont besoin pour faire fonctionner l\'API VPNService. Nécessite les droits root.</string>
+ <string name="owner_fix">Corriger les permissions de /dev/tun</string>
+ <string name="generated_config_summary">Affiche le fichier de configuration OpenVPN généré</string>
+ <string name="edit_profile_title">Modification \"%s\"</string>
+ <string name="building_configration">Création de la configuration&#8230;</string>
+ <string name="netchange_summary">Activer cette option forcera une reconnexion si l\'état du réseau est modifié (par exemple WiFi/Mobile)</string>
+ <string name="netchange">Se reconnecter lors d\'un changement de réseau</string>
+ <string name="netstatus">État du réseau : %s</string>
<string name="extracahint">"Le certificat CA est généralement renvoyé par le gestionnaire de clés Android. Spécifiez un certificat distinct si vous obtenez des erreurs de vérification de certificat."</string>
<string name="select_file">"Sélectionner"</string>
- <string name="keychain_nocacert">"Aucun certificat CA renvoyée lors de la lecture depuis le gestionnaire de clés. L\'authentification échouera probablement."</string>
+ <string name="keychain_nocacert">Aucun certificat CA n\'a été trouvé depuis le gestionnaire de clés d\'Android. L\'authentification va probablement échoué.</string>
<string name="show_log_summary">"Affiche la fenêtre de log à la connexion. Cette fenêtre peut toujours être consultée à partir de la notification d\'état."</string>
<string name="show_log_window">"Afficher la fenêtre de log"</string>
<string name="mobile_info">%10$s %9$s courir sur %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
@@ -185,13 +186,13 @@
<string name="faq_system_dialogs">\"L\'avertissement de connexion au VPN qui vous informe que cette application peut intercepter tout le trafic est imposé par le système pour éviter les abus de l\'API du service VPN.\nLa notification de connexion au VPN (Le symbole qui ressemble à une clé) est aussi imposé par le système Android pour signaler une connexion VPN en cours de fonctionnement.
Sur certaines images, cette notification joue un son.\nAndroid à introduit ces dialogues système pour votre propre sécurité et à fait en sorte d\'être impossible à contourner. (Cela peut inclure en plus une notification sonore pour certaines images)\"</string>
<string name="faq_system_dialogs_title">"Avertissement de connexion et son de notification"</string>
- <string name="translationby">French translation by Stanislas Bach&lt;stanislasbach@gmail.com&gt;</string>
- <string name="ipdns">"IP et DNS"</string>
- <string name="basic">"Base"</string>
- <string name="routing">"Redirection de ports"</string>
- <string name="obscure">"Réglages OpenVPN avancés"</string>
- <string name="advanced">"Avancé"</string>
- <string name="export_config_title">"Configuration ICS OpenVPN "</string>
+ <string name="translationby">Traduction française par les utilisateurs sur Crowdin</string>
+ <string name="ipdns">IP et DNS</string>
+ <string name="basic">Base</string>
+ <string name="routing">Routage</string>
+ <string name="obscure">Paramètres OpenVPN avancés</string>
+ <string name="advanced">Avancée</string>
+ <string name="export_config_title">Configuration ICS OpenVPN</string>
<string name="warn_no_dns">Aucun serveur DNS utilisé. La résolution de noms de domaines peut ne pas fonctionner. Envisager d\'ajouter des serveurs DNS personnalisés. Veuillez également noter que Android va continuer à utiliser vos paramètres de proxy spécifiés pour votre connexion Wi-Fi/mobile lorsque aucun serveur DNS n\'est défini.</string>
<string name="dns_add_error">"Impossible d\'ajouter le serveur DNS \"%1$s\", rejetés par le système: %2$s"</string>
<string name="ip_add_error">Impossible de configurer l\'adresse IP \"%1$s\", rejetées par le système : %2$s</string>
@@ -200,21 +201,20 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="setting_loadtun_summary">"Essayez de charger le module du noyau \"tun.ko\" avant d\'essayer de vous connecter. Requiert des droits root."</string>
<string name="setting_loadtun">"Charger le module TUN"</string>
<string name="importpkcs12fromconfig">"Importer PKCS12 de la configuration dans le gestionnaire de clés Android"</string>
- <string name="getproxy_error">"Erreur d\'obtention des paramètres de proxy: %s"</string>
+ <string name="getproxy_error">Erreur d\'obtention des paramètres de proxy : %s</string>
<string name="using_proxy">"Utilisation du proxy %1$s %2$d"</string>
<string name="use_system_proxy">"Utiliser le proxy système"</string>
<string name="use_system_proxy_summary">"Utiliser la configuration générale du système pour que les proxy HTTP / HTTPS se connectent."</string>
- <string name="donatewithpaypal">"Vous pouvez faire un &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;cmd=_s-xclick\"&gt;don avec PayPal&lt;/ a&gt; "</string>
- <string name="onbootrestartsummary">"Reconnecter OpenVPN automatiquement si une connexion était active lors de l\'extinction/redémarrage de l\'appareil. Veuillez lire l\'avertissement de connexion dans la FAQ avant d\'utiliser cette option."</string>
- <string name="onbootrestart">"Connexion automatique au redémarrage"</string>
- <string name="ignore">"Ignorer"</string>
- <string name="restart">"Redémarrer"</string>
- <string name="restart_vpn_after_change">"Les changements de configuration sont appliquées après redémarrage du VPN. (Re)démarrer le VPN maintenant?"</string>
- <string name="configuration_changed">"Configuration modifiée"</string>
+ <string name="onbootrestartsummary">OpenVPN connecter le VPN spécifié si elle était active au démarrage du système. S\'il vous plaît lire l\'avertissement de connexion FAQ avant d\'utiliser cette option sur Android &lt; 5.0.</string>
+ <string name="onbootrestart">Se connecter au redémarrage</string>
+ <string name="ignore">Ignorer</string>
+ <string name="restart">Redémarrer</string>
+ <string name="restart_vpn_after_change">Les changements de configuration sont appliqués après redémarrage du VPN. (Re)démarrer le VPN maintenant ?</string>
+ <string name="configuration_changed">Configuration modifiée</string>
<string name="log_no_last_vpn">"Impossible de déterminer le dernier profil connecté pour l\'édition"</string>
- <string name="faq_duplicate_notification_title">"Notifications multiples"</string>
+ <string name="faq_duplicate_notification_title">Notifications en double</string>
<string name="faq_duplicate_notification">"Si Android tourne sur la mémoire du système (RAM), les application et les services qui ne sont pas nécessaires à un moment sont automatiquement supprimés de la mémoire. Cela stoppe donc la connexion VPN en cours. Pour s\'assurer que celle-ci reste toujours lancée, le service est lancé avec une priorité plus élevée. Pour cela, l\'application doit afficher une notification permanente. L\'icône de \"clé\" dans la notification est imposée par le système comme expliqué dans l\'entrée de la FAQ précédente."</string>
- <string name="no_vpn_profiles_defined">"Pas de profils VPN définis."</string>
+ <string name="no_vpn_profiles_defined">Aucun profil VPN défini.</string>
<string name="add_new_vpn_hint">"Utilisez l\'icône &lt;img src=\"ic_menu_add\"/ pour ajouter un nouveau VPN"</string>
<string name="vpn_import_hint">"Utilisez l\'icône &lt;img src=\"ic_menu_archive\"/&gt; pour importer un fichier profil (.opvpn ou .conf) de votre carte SD."</string>
<string name="faq_hint">"Veillez également à consulter la FAQ. Il s\'y trouve un guide de démarrage rapide."</string>
@@ -226,15 +226,15 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="import_config">"Importer une configuration OpenVPN"</string>
<string name="battery_consumption_title">"Consommation de la batterie"</string>
<string name="baterry_consumption">In my personal tests the main reason for high battery consumption of OpenVPN are the keepalive packets. Most OpenVPN servers have a configuration directive like \'keepalive 10 60\' which causes the client and server to exchange keepalive packets every ten seconds. &lt;p&gt; While these packets are small and do not use much traffic, they keep the mobile radio network busy and increase the energy consumption. (See also &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;) &lt;p&gt; This keepalive setting cannot be changed on the client. Only the system administrator of the OpenVPN can change the setting. &lt;p&gt; Unfortunately using a keepalive larger than 60 seconds with UDP can cause some NAT gateways to drop the connection due to an inactivity timeout. Using TCP with a long keepalive timeout works, but tunneling TCP over TCP performs extremely poorly on connections with high packet loss. (See &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Why TCP Over TCP Is A Bad Idea&lt;/a&gt;)</string>
- <string name="faq_tethering">La fonctionnalité de Tethering Android (sur WiFi, USB ou Bluetooth) et l\'API VPNService (utilisé par ce programme) ne fonctionnent pas ensemble. Pour plus de détails, voir la &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=34\" &gt; page #34 &lt;/a&gt;</string>
- <string name="vpn_tethering_title">VPN et Tethering</string>
- <string name="connection_retries">"Tentatives de connexion"</string>
- <string name="reconnection_settings">"Paramètres de reconnexion"</string>
- <string name="connectretrymessage">Nombre de secondes d\'attente entre chaque tentative de connexion.</string>
- <string name="connectretrywait">"Temps, en secondes, entre deux connexions"</string>
- <string name="minidump_generated">OpenVPN s\'est écrasé de façon inattendue. S\'il vous plaît, envisagez d\'utiliser l\'option de Minidump depuis le menu principal</string>
+ <string name="faq_tethering">La fonctionnalité Partage de connexion Android (sur WiFi, USB ou Bluetooth) et l\'API VPNService (utilisé par ce programme) ne fonctionnent pas ensemble. Pour plus de détails voir &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/34\"&gt;issue #34&lt;/a&gt;</string>
+ <string name="vpn_tethering_title">VPN et Partage</string>
+ <string name="connection_retries">Tentatives de connexion</string>
+ <string name="reconnection_settings">Paramètres de reconnexion</string>
+ <string name="connectretrymessage">Nombre de secondes entre chaque tentatives de connexion.</string>
+ <string name="connectretrywait">Nombre de secondes entre deux connexions</string>
+ <string name="minidump_generated">OpenVPN a planté de façon inattendue. Veuillez envisager d\'utiliser l\'option Minidump dans le menu principal</string>
<string name="send_minidump">Envoyer le Minidump au développeur</string>
- <string name="send_minidump_summary">Envoyer les informations de débogage à propos du dernier accident au développeur</string>
+ <string name="send_minidump_summary">Envoie les informations sur le dernier crash au développeur</string>
<string name="notifcation_title">OpenVPN - %s</string>
<string name="session_ipv4string">%1$s - %2$s</string>
<string name="session_ipv6string">%1$s - %3$s, %2$s</string>
@@ -242,23 +242,22 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="state_wait">En attente de la réponse du serveur</string>
<string name="state_auth">Authentification</string>
<string name="state_get_config">Obtention de la configuration du client</string>
- <string name="state_assign_ip">Attribution de l\'adresses IP</string>
+ <string name="state_assign_ip">Attribution des adresses IP</string>
<string name="state_add_routes">Ajout des routes</string>
<string name="state_connected">Connecté</string>
<string name="state_disconnected">Déconnecter</string>
<string name="state_reconnecting">Reconnexion</string>
<string name="state_exiting">Fermeture</string>
- <string name="state_noprocess">Eteint</string>
+ <string name="state_noprocess">Éteint</string>
<string name="state_resolve">Résolution des noms d\'hôtes</string>
<string name="state_tcp_connect">Connexion (TCP)</string>
- <string name="state_auth_failed">Echec de l\'authentification</string>
+ <string name="state_auth_failed">Authentification échouée</string>
<string name="state_nonetwork">En attente d\'un réseau utilisable</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Non connecté</string>
<string name="start_vpn_title">Connexion au VPN %s</string>
<string name="start_vpn_ticker">Connexion au VPN %s</string>
<string name="jelly_keystore_alphanumeric_bug">Certaines versions d\'Android 4.1 rencontrent des problèmes si le nom du certificat du trousseau de clé contient des caractères non alphanumériques (comme des espaces, des caractères de soulignement ou des tirets). Essayez de réimporter le certificat sans caractères spéciaux</string>
- <string name="encryption_cipher">Chiffrement de cryptage</string>
+ <string name="encryption_cipher">Algorithme de chiffrement</string>
<string name="packet_auth">Authentification des paquets</string>
<string name="auth_dialog_title">Méthode d\'authentification des paquets</string>
<string name="built_by">compilé par %s</string>
@@ -272,23 +271,23 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="remotetlsnote">La configuration que vous avez importée utilise l\'option désuette tls-remote qui utilise un format de DN différent.</string>
<string name="rdn">RDN (nom commun)</string>
<string name="rdn_prefix">Préfixe RDN</string>
- <string name="tls_remote_deprecated">tl-remote (OBSOLETE)</string>
+ <string name="tls_remote_deprecated">tls-remote (OBSOLÈTE)</string>
<string name="help_translate">Vous pouvez aider à traduire en visitant http://crowdin.net/project/ics-openvpn/invite</string>
<string name="prompt">%1$s essais de controler %2$s</string>
<string name="remote_warning">En poursuivant vous donnez la permission a l\'application de contrôler complètement OpenVPN pour Android et d\'intercepter tout le trafic réseau.<b>N\'acceptez que si vous faite confiance à l\'application.</b> Sinon vous vous exposez au risque de voir vos données compromises par un logiciel malveillant.\"</string>
<string name="remote_trust">Faire confiance à cette application.</string>
<string name="no_external_app_allowed">Aucune application n\'est autorisée à utiliser l\'API externe</string>
- <string name="allowed_apps">Applications autorisées: %s</string>
- <string name="clearappsdialog">Effacer la liste des appli. externes?\nListe des appli. autorisées:\n\n%s</string>
- <string name="screenoff_summary">\"Mettre le VPN en pause lorsque l\'écran est éteint et moins de 64ko de données sont transférées dans les 60s. Lorsque l\'option \"Persistance Tun\" est activée, la pause laissera votre appareil SANS connectivité réseau. Sans l\'option \"Persistance Tun\" le dispositif n\'aura pas connexion/protection VPN.</string>
- <string name="screenoff_title">Mettre la connection VPN en pause à l\'exctinction de l\'écran</string>
- <string name="screenoff_pause">Connexion en pause quand l\'écran est éteint : moins de %1$s en %2$ss</string>
- <string name="screen_nopersistenttun">Attention: tun persistant pas activé pour ce VPN. Le trafic utilisera la connexion Internet normale lorsque l\'écran est éteint.</string>
+ <string name="allowed_apps">Applications autorisées : %s</string>
+ <string name="clearappsdialog">Effacer la liste des applications externes ?\nListe des applications autorisées :\n\n%s</string>
+ <string name="screenoff_summary">Suspendre le VPN lorsque l\'écran est éteint et moins de 64ko de données sont transférées en 60s. Lorsque l\'option \"Persistance Tun\" est activée, la pause laissera votre appareil SANS connectivité réseau. Sans l\'option \"Persistance Tun\" l\'appareil n\'aura pas de connexion/protection VPN.</string>
+ <string name="screenoff_title">Suspendre la connexion VPN après écran éteint</string>
+ <string name="screenoff_pause">Connexion suspendu quand l\'écran est éteint : moins de %1$s en %2$ss</string>
+ <string name="screen_nopersistenttun">Attention : tun persistant pas activé pour ce VPN. Le trafic utilisera la connexion Internet normale lorsque l\'écran est éteint.</string>
<string name="save_password">Enregistrer le mot de passe</string>
- <string name="pauseVPN">Pause du VPN</string>
+ <string name="pauseVPN">Suspendre VPN</string>
<string name="resumevpn">Reprendre VPN</string>
- <string name="state_userpause">Pause du VPN demandé par l\'utilisateur</string>
- <string name="state_screenoff">VPN en pause - écran eteint</string>
+ <string name="state_userpause">VPN suspendu sur demande de l\'utilisateur</string>
+ <string name="state_screenoff">VPN suspendu - écran éteint</string>
<string name="device_specific">Hacks spécifiques à l\'appareil</string>
<string name="cannotparsecert">Ne peut pas afficher les informations de certificat</string>
<string name="appbehaviour">Comportement de l\'application</string>
@@ -297,9 +296,9 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="hwkeychain">Clés du matériel :</string>
<string name="permission_icon_app">Icône de l\'application qui essaie d\'utiliser OpenVPN for Android</string>
<string name="faq_vpndialog43">"À partir d\'Android 4.3 la confirmation VPN est gardée contre les \"applications recouvrante\". Cela se traduit par la boîte de dialogue qui ne réagi pas à la saisie tactile. Si vous avez une application qui utilise des superpositions, elle peut causer ce comportement. Si vous trouvez une application délinquante contacter l\'auteur de l\'application. Ce problème affecte toutes les applications VPN sur Android 4.3 et plus. Voir aussi &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=185\"&gt;Issue 185&lt;a&gt; pour plus de détails"</string>
- <string name="faq_vpndialog43_title">Dialogue de confirmation du VPN sur Android 4,3 et plus</string>
- <string name="donatePlayStore">Sinon, vous pouvez m\'envoyer un don avec le Play Store :</string>
- <string name="thanks_for_donation">Merci pour le don %s!</string>
+ <string name="faq_vpndialog43_title">Fenêtre de confirmation du VPN</string>
+ <string name="donatePlayStore">Sinon vous pouvez m\'envoyer un don via le Play Store :</string>
+ <string name="thanks_for_donation">Merci pour le don %s !</string>
<string name="logCleared">Journal effacé.</string>
<string name="show_password">Afficher le mot de passe</string>
<string name="keyChainAccessError">Erreur d\'accès de KeyChain : %s</string>
@@ -312,7 +311,7 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="vpn_status">État VPN</string>
<string name="logview_options">Options d\'affichage</string>
<string name="unhandled_exception">Exception non gérée : %1$s\n\n%2$s</string>
- <string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
+ <string name="unhandled_exception_context">%3$s : %1$s\n\n%2$s</string>
<string name="faq_system_dialog_xposed">Si vous avez \"rooté\" votre Android vous pouvez installer &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; et &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;le module de confirmation VPN&lt;/a&gt; à vos risques et périls\"</string>
<string name="full_licenses">Licences complètes</string>
<string name="blocklocal_summary">Les réseaux directement connectés aux interfaces locales ne seront pas routés via le VPN. Décochez cette option pour rediriger tout le trafic local vers le VPN.</string>
@@ -324,31 +323,95 @@ Sur certaines images, cette notification joue un son.\nAndroid à introduit ces
<string name="import_log">Journal d\'importation :</string>
<string name="ip_looks_like_subnet">Topologie VPN «%3$s » spécifiée mais ifconfig %1$s %2$s ressemble plus à une adresse IP avec un masque de réseau. On suppose que la topologie « sous-réseau » est utilisée.</string>
<string name="mssfix_invalid_value">La valeur de mssfix doit être un entier compris entre 0 et 9000</string>
- <string name="mssfix_value_dialog">Announce to TCP sessions running over the tunnel that they should limit their send packet sizes such that after OpenVPN has encapsulated them, the resulting UDP packet size that OpenVPN sends to its peer will not exceed this number of bytes. (default is 1450)</string>
- <string name="mssfix_checkbox">Override MSS value of TCP payload</string>
- <string name="mssfix_dialogtitle">Set MSS of TCP payload</string>
+ <string name="mssfix_value_dialog">Annoncer aux sessions TCP en cours d\'exécution sur le tunnel qu\'ils devraient limiter leurs tailles de paquets d\'émission de telle sorte qu\'après OpenVPN les a encapsulé, la taille des paquets UDP résultant que OpenVPN envoie à son homologue ne dépassera pas ce nombre d\'octets. (Valeur par défaut est 1450)</string>
+ <string name="mssfix_checkbox">Remplacer la valeur MSS de TCP payload</string>
+ <string name="mssfix_dialogtitle">Définir MSS de TCP payload</string>
<string name="client_behaviour">Comportement du client</string>
- <string name="clear_external_apps">Clear allowed external apps</string>
+ <string name="clear_external_apps">Effacer applications externes autorisées</string>
<string name="loading">Chargement&#8230;</string>
- <string name="allowed_vpn_apps_info">Allowed VPN apps: %1$s</string>
- <string name="disallowed_vpn_apps_info">Disallowed VPN apps: %1$s</string>
- <string name="app_no_longer_exists">Package %s is no longer installed, removing it from app allow/disallow list</string>
- <string name="vpn_disallow_radio">VPN is used for all apps but exclude selected</string>
- <string name="vpn_allow_radio">VPN is used for only for selected apps</string>
- <string name="query_delete_remote">Remove remote server entry?</string>
+ <string name="allowed_vpn_apps_info">Applications VPN autorisées : %1$s</string>
+ <string name="disallowed_vpn_apps_info">Applications VPN refusées : %1$s</string>
+ <string name="app_no_longer_exists">Application %s désinstallée, retirée de la liste des applications autorisées/refusées</string>
+ <string name="vpn_disallow_radio">VPN est utilisé pour toutes les applications mais exclut les sélectionnées</string>
+ <string name="vpn_allow_radio">VPN est utilisé uniquement pour les applications sélectionnées</string>
+ <string name="query_delete_remote">Supprimer l\'entrée du serveur distant ?</string>
<string name="keep">Garder</string>
<string name="delete">Supprimer</string>
- <string name="add_remote">Add new remote</string>
- <string name="remote_random">Use connection entries in random order on connect</string>
- <string name="remote_no_server_selected">You need to define and enable at least one remote server.</string>
+ <string name="add_remote">Ajouter nouveau serveur distant</string>
+ <string name="remote_random">Utiliser les entrées de connexion dans un ordre aléatoire à la connexion</string>
+ <string name="remote_no_server_selected">Vous devez définir et activer au moins un serveur distant.</string>
<string name="server_list">Liste des serveurs</string>
- <string name="vpn_allowed_apps">Allowed Apps</string>
+ <string name="vpn_allowed_apps">Applications autorisées</string>
<string name="advanced_settings">Paramètres avancés</string>
- <string name="payload_options">Payload options</string>
+ <string name="payload_options">Options Payload</string>
<string name="tls_settings">Paramètres TLS</string>
- <string name="no_remote_defined">No remote defined</string>
+ <string name="no_remote_defined">Aucun serveur distant défini</string>
<string name="duplicate_vpn">Dupliquer le profil VPN</string>
- <string name="duplicate_profile_title">Duplicating profile: %s</string>
+ <string name="duplicate_profile_title">Duplication de profil : %s</string>
<string name="show_log">Afficher le journal</string>
<string name="faq_android_clients">Il existe plusieurs clients OpenVPN pour Android. Les plus communs sont OpenVPN for Android (ce client), OpenVPN Connect, et OpenVPN Settings..&lt;p&gt;Les clients peuvent êtres regroupés en 2 groupes : OpenVPN for Android et OpenVPN Connect utilisent le service API officiel de VPNService (Android 4.0+) et ne nécessitent pas une élévation des privilèges (rootage), puis OpenVPN Settings qui nécessite le rootage.&lt;p&gt;OpenVPN for Android et un client « open source » développé par Arne Schwabe. Il est destiné aux utilisateurs avancés et comprend plusieurs paramètres, ainsi que la possibilité d\'importer les profils depuis des fichiers et de les configurer/changer à partir de l\'application. Le client est basé sur la version communautaire d\'OpenVPN. Il est basé sur le code source d\'OpenVPN 2.x. Ce client peut-être considérer en étant la version semi-officielle de la communauté.&lt;p&gt;OpenVPN Connect est un logiciel propriétaire développé par OpenVPN Technologies, Inc. Le client est destiné aux utilisateurs avec une connaissance moyenne et offre la possibilité d\'importer les profils OpenVPN. Ce client est basé sur une nouvelle réalisation du protocole OpenVPN C++ (ceci était nécessaire afin de permettre à OpenVPN Technologies, Inc. de publier une version iOS de l\'application OpenVPN). Ce client est le client officiel des technologies OpenVPN&lt;p&gt;OpenVPN Settings est le client le plus ancien et agit comme l\'interface utilisateur de la version « open source » d\'OpenVPN. Contrairement à OpenVPN for Android il ne nécessite pas le rootage et ne se sert pas du service API de VPNService. Il ne dépend pas sur Android 4.0+</string>
+ <string name="faq_androids_clients_title">Différences entre les clients OpenVPN Android</string>
+ <string name="ignore_multicast_route">Ignorer la route multidiffusion : %s</string>
+ <string name="ab_only_cidr">Android ne prend en charge que les routes CIDR vers VPN. Étant donné que les routes non-CIDR ne sont pratiquement jamais utilisées, OpenVPN pour Android utilisera un /32 pour les routes ne sont pas CIDR et émettre un avertissement.</string>
+ <string name="ab_tethering_44">Le partage fonctionne tandis que le VPN est actif. La connexion partagée n\'utilisera pas le VPN.</string>
+ <string name="ab_kitkat_mss">Les versions antérieures à KitKat définissent une valeur MSS erronée (#61948). Essayez d\'activer l\'option mssfix pour contourner ce bug.</string>
+ <string name="ab_proxy">Android va continuer à utiliser vos paramètres de proxy spécifiés pour la connexion mobile / Wi-Fi lorsque aucun serveur DNS n\'est définis. OpenVPN pour Android vous avertira à ce sujet dans le log.<p>Quand un VPN définit un serveur de DNS, Android n\'utilisera pas de proxy. Il n\'y a pas d\'API pour définir un proxy pour un connection VPN.</p></string>
+ <string name="ab_lollipop_reinstall">Les applications VPN peuvent s\'arrêter de fonctionner lors d\'une désinstallation suivie d\'une réinstallation. Pour plus de détails, voir #80074</string>
+ <string name="ab_not_route_to_vpn">L\'adresse IP du client, et les adresses IP de ce réseau ne sont pas routées par le VPN. OpenVPN contourne ce problème en ajoutant une route qui corresponds à l’adresse IP et le Masque de sous réseau du client</string>
+ <string name="ab_secondary_users">Le VPN ne fonctionnera pas du tout pour tous les utilisateurs secondaires.</string>
+ <string name="ab_kitkat_reconnect">"Plusieurs utilisateurs ont signalés des prêtes de paquets durant l\'utilisation d\'un VPN sur leur connexion mobile. Ce comportement semble lier à certains fournisseurs, il n\'y a pas de contournement connu ou de bug que l\'on puisse régler."</string>
+ <string name="ab_only_cidr_title">Routes non CIDR</string>
+ <string name="ab_proxy_title">Comportement proxy pour les VPN</string>
+ <string name="ab_lollipop_reinstall_title">Réinstallation des applications VPN</string>
+ <string name="version_upto">%s et antérieur</string>
+ <string name="copy_of_profile">Copie de %s</string>
+ <string name="ab_not_route_to_vpn_title">Route vers l\'adresse IP configurée</string>
+ <string name="ab_kitkat_mss_title">Valeur MSS erronée pour la connexion VPN</string>
+ <string name="ab_secondary_users_title">Utilisateurs de tablettes secondaires</string>
+ <string name="custom_connection_options_warng">Spécifiez la connexion et les options personnalisés. À utiliser avec précaution</string>
+ <string name="custom_connection_options">Options personnalisées</string>
+ <string name="remove_connection_entry">Supprimer entrée de connexion</string>
+ <string name="ab_kitkat_reconnect_title">Déconnexion aléatoire du réseau mobile</string>
+ <string name="ab_vpn_reachability_44_title">Réseau distant injoignable</string>
+ <string name="ab_persist_tun_title">Mode tun persistant</string>
+ <string name="version_and_later">%s et ultérieur</string>
+ <string name="tls_cipher_alert_title">Échec de la connexion avec l\'erreur SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure</string>
+ <string name="message_no_user_edit">Ce profil a été ajouté à partir d\'une application externe (%s) et a été marqué comme non modifiable par l\'utilisateur.</string>
+ <string name="crl_file">Liste des certificats révoqués</string>
+ <string name="service_restarted">Redémarrage du service OpenVPN (l\'Application a probablement plantée ou a été tué pour cause d\'utilisation excessive de la mémoire)</string>
+ <string name="import_config_error">L\'importation de la configuration a abouti à une erreur, l\'enregistrement est impossible</string>
+ <string name="Search">Rechercher</string>
+ <string name="lastdumpdate">(Le dernier dump est vieux de %1$d:%2$d (du %3$s ))</string>
+ <string name="clear_log_on_connect">Effacer le journal sur une nouvelle connexion</string>
+ <string name="connect_timeout">Extinction de la connexion</string>
+ <string name="no_allowed_app">Aucune application n\'est autorisée. Il faut au minimum ajouter cette application (%s) afin d\'en autoriser au moins une. Cela évite d’autoriser toutes les autres applications inutilement</string>
+ <string name="query_permissions_sdcard">OpenVPN pour Android va essayer de chercher le(s) fichier(s) manquant(s) sur une sdcard. Tapoter cette fenêtre de dialogue va démarrer une demande d\'autorisation.</string>
+ <string name="protocol">Protocole</string>
+ <string name="enabled_connection_entry">Activé</string>
+ <string name="permission_revoked">Autorisation de VPN révoquée par le système d\'exploitation (ex : un autre programme VPN est lancé), arrêt du VPN</string>
+ <string name="pushpeerinfo">Envoyer plus d\'infos</string>
+ <string name="pushpeerinfosummary">Envoyer des informations supplémentaires sur le serveur, par exemple la version SSL et la version Android</string>
+ <string name="pw_request_dialog_title">Besoin de %1$s</string>
+ <string name="pw_request_dialog_prompt">Veuillez entrer le mot de passe pour le profil %1$s</string>
+ <string name="menu_use_inline_data">Utiliser données en ligne</string>
+ <string name="export_config_chooser_title">Exporter le fichier de configuration</string>
+ <string name="missing_tlsauth">Fichier tls-auth manquant</string>
+ <string name="missing_certificates">Le certificat ou le fichier de clé de l\'utilisateur est manquant</string>
+ <string name="missing_ca_certificate">Certificat CA manquant</string>
+ <string name="crl_title">Liste des certificats révoqués (facultatif)</string>
+ <string name="reread_log">Relire (%d) éléments du fichier de log</string>
+ <string name="samsung_broken_title">Téléphones Samsung</string>
+ <string name="novpn_selected">Aucun VPN sélectionné.</string>
+ <string name="reconnect">Reconnecter</string>
+ <string name="qs_title">Activer VPN</string>
+ <string name="qs_connect">Connecter à %s</string>
+ <string name="qs_disconnect">Déconnecter %s</string>
+ <string name="connectretrymaxmessage">Entrez le temps maximum entre les tentatives de connexion. OpenVPN va lentement augmenter son temps d\'attente après une tentative de connexion infructueuse jusqu\'à atteindre cette valeur. Par défaut, 300sec.</string>
+ <string name="connectretrymaxtitle">Temps maximum entre les tentatives de connexion</string>
+ <string name="state_waitconnectretry">%s secondes avant la prochaine tentative de connexion</string>
+ <string name="management_socket_closed">Connexion à OpenVPN fermé (%s)</string>
+ <string name="change_sorting">Changer de tri</string>
+ <string name="sort">Trier</string>
+ <string name="sorted_lru">Profils triés par dernier récemment utilisé</string>
+ <string name="sorted_az">Profils triés par nom</string>
</resources>
diff --git a/main/src/main/res/values-hu/arrays.xml b/main/src/main/res/values-hu/arrays.xml
index 950cc59a..9a0687b6 100755
--- a/main/src/main/res/values-hu/arrays.xml
+++ b/main/src/main/res/values-hu/arrays.xml
@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Tanúsítványok</item>
- <item>PKCS12 fáj</item>
+ <item>PKCS12-fájl</item>
<item>Android tanúsítvány</item>
<item>Felhasználónév/Jelszó</item>
<item>Statikus Kulcsok</item>
@@ -12,8 +17,9 @@
<item>Felhasználó/Jelszó + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Nincs megadva</item>
+ <item>Titkosítás (tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-hu/plurals.xml b/main/src/main/res/values-hu/plurals.xml
new file mode 100755
index 00000000..a8ffc2ee
--- /dev/null
+++ b/main/src/main/res/values-hu/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Egy hónap van hátra</item>
+ <item quantity="other">%d hónap van hátra</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Egy nap van hátra</item>
+ <item quantity="other">%d nap van hátra</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Egy óra van hátra</item>
+ <item quantity="other">%d óra van hátra</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Egy perc van hátra</item>
+ <item quantity="other">%d perc van hátra</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-hu/strings.xml b/main/src/main/res/values-hu/strings.xml
index ec81949d..3fd765ff 100755
--- a/main/src/main/res/values-hu/strings.xml
+++ b/main/src/main/res/values-hu/strings.xml
@@ -41,16 +41,17 @@
<string name="configure_the_vpn">A VPN beállítása</string>
<string name="menu_add_profile">Profil hozzáadása</string>
<string name="add_profile_name_prompt">Adja meg az új Profil nevét</string>
- <string name="duplicate_profile_name">Kérlek, egyedi profilnevet válassz magadnak</string>
+ <string name="duplicate_profile_name">Kérem, egyedi profilnevet válasszon</string>
<string name="profilename">Profil név</string>
- <string name="no_keystore_cert_selected">Válassz egy felhasználói tanúsítványt</string>
- <string name="no_error_found">hiba nem található</string>
+ <string name="no_keystore_cert_selected">Válasszon egy felhasználói tanúsítványt</string>
+ <string name="no_ca_cert_selected">Ki kell választania egy CA tanúsítványt</string>
+ <string name="no_error_found">Hiba nem található</string>
<string name="config_error_found">Hiba a beállításokban</string>
<string name="ipv4_format_error">Hiba az IPv4 cím elemzésekor</string>
<string name="custom_route_format_error">Hiba az egyéni útvonalak elemzésekor</string>
- <string name="pw_query_hint">(a lekérdezés igénye szerint hagyja üresen)</string>
+ <string name="pw_query_hint">(hagyja üresen esetenkénti bekéréshez)</string>
<string name="vpn_shortcut">OpenVPN parancsikon</string>
- <string name="vpn_launch_title">Csatlakozás a VPN-hez</string>
+ <string name="vpn_launch_title">Csatlakozás a VPN-hez&#8230;</string>
<string name="shortcut_profile_notfound">A parancsikonban kiválasztott Profil nem létezik</string>
<string name="random_host_prefix">Véletlen Host Prefix</string>
<string name="random_host_summary">6 random karakter hozzáadása a hosztnév elejére</string>
@@ -62,7 +63,7 @@
<string name="clear_log">napló törlése</string>
<string name="title_cancel">Megszakítás jóváhagyása</string>
<string name="cancel_connection_query">VPN kapcsolat/kapcsolódás megszakítása?</string>
- <string name="remove_vpn">VPN kapcsolat eltávolítása</string>
+ <string name="remove_vpn">VPN eltávolítása</string>
<string name="check_remote_tlscert">Ellenőrzi, hogy a kiszolgáló használ-e tanúsitványt TLS Server kiterjesztéssel (--remote-cert-tls server)</string>
<string name="check_remote_tlscert_title">TLS server tanúsítvány megkövetelése</string>
<string name="remote_tlscn_check_summary">Ellenőrzi a Távoli Kiszolgáló Tanúsítvány Subject DN mezőt</string>
@@ -78,28 +79,28 @@
<string name="override_dns">A kiszolgálótól kapott DNS Beállítások felülbírálása</string>
<string name="dns_override_summary">Saját DNS Szerverek használata</string>
<string name="searchdomain">searchDomain</string>
- <string name="dns1_summary">a használatban levő DNS-kiszolgáló.</string>
- <string name="dns_server">DNS szerver</string>
- <string name="secondary_dns_message">A másodlagos DNS-kiszolgáló használható, ha a normál DNS-kiszolgáló nem érhető el.</string>
- <string name="backup_dns">tartalék DNS szerver</string>
+ <string name="dns1_summary">Használni kívánt DNS kiszolgáló.</string>
+ <string name="dns_server">DNS kiszolgáló</string>
+ <string name="secondary_dns_message">Másodlagos DNS kiszolgáló használata, ha a normál DNS-kiszolgáló nem érhető el.</string>
+ <string name="backup_dns">Tartalék DNS kiszolgáló</string>
<string name="ignored_pushed_routes">Push-olt útvonalak figyelmen kívül hagyása</string>
<string name="ignore_routes_summary">A szerver által push-olt útvonalak figyelmen kívül hagyása.</string>
<string name="default_route_summary">A teljes forgalom átirányítása a VPN-re</string>
- <string name="use_default_title">használja az alapértelmezett útvonalat</string>
+ <string name="use_default_title">Alapértelmezett útvonal használata</string>
<string name="custom_route_message">Egyéni útvonalak megadása. A célt csak CIDR formátumban adja meg. \"10.0.0.0/8 2002::/16\" átirányítaná a 10.0.0.0/8 és 2002::/16 hálózatokat a VPN-en.</string>
<string name="custom_route_message_excluded">Útvonalak amikek nem a VPN-en át kell route-olni.</string>
<string name="custom_routes_title">Egyéni útvonalak</string>
<string name="custom_routes_title_excluded">Hálózat kivételek</string>
<string name="log_verbosity_level">Napló részletességi szint</string>
<string name="float_summary">Hitelesített csomagok engedélyezése minden IP-ről</string>
- <string name="float_title">Lebegő szerver engedélyezése</string>
+ <string name="float_title">Lebegő kiszolgáló engedélyezése</string>
<string name="custom_options_title">Egyéni beállítások</string>
<string name="edit_vpn">VPN-beállítások szerkesztése</string>
<string name="remove_vpn_query">\'%s\' VPN Profil eltávolítása?</string>
<string name="tun_error_helpful">Néhány egyedi ICS image-en a /dev/tun hozzáférési jogai rosszak lehetnek, vagy a tun modul teljesen hiányzik. CM9 imagek-en próbálja a fix tulajdonos opciót az általános beállításokban</string>
<string name="tun_open_error">Nem sikerült megnyitni a tun interfészt</string>
- <string name="error">"Hiba:"</string>
- <string name="clear">töröl</string>
+ <string name="error">"Hiba: "</string>
+ <string name="clear">Töröl</string>
<string name="last_openvpn_tun_config">tun interfész megnyitása:</string>
<string name="local_ip_info">Helyi IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
<string name="dns_server_info">DNS Szerver: %1$s, Domain: %2$s</string>
@@ -112,7 +113,7 @@
<string name="keychain_access">Nem sikerült hozzáférni az Android Keychain Tanúsivànyokhoz. Ezt egy firmware frissítés vagy az alkalmazás/beállításainak visszaállítása okozhatja. Kérem szerkessze meg a VPN-t, és újra válassza ki a tanúsítványokat az alapvető beállításoknál, hogy visszaálljanak a tanúsítványok hozzáférési jogai.</string>
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">Naplófájl küldése</string>
- <string name="send">küld</string>
+ <string name="send">Küldés</string>
<string name="ics_openvpn_log_file">ICS OpenVPN naplófájl</string>
<string name="copied_entry">Naplóbejegyzés másolva a vágólapra</string>
<string name="tap_mode">Tap mód</string>
@@ -120,7 +121,7 @@
<string name="tap_faq2">Megint? Viccelsz? Nem, a tap mód tényleg nem támogatott és további levelek küldése hogy támogatott lesz-e sem fog segíteni.</string>
<string name="tap_faq3">Harmadszor is? Tulajdonképpen lehetne írni egy tap emulátort a tun alapján ami képes layer2 adatokat is küldeni és fogadni, de ennek a tap emulátornak implementálnia kell ARP-t és lehetőleg egy DHCP klienst is. Nem tudok róla, hogy bárki is ezen az irányon dolgozna. Ha lenne kedve ilyet kódolni, lépjen kapcsolatba velem.</string>
<string name="faq">GYIK</string>
- <string name="copying_log_entries">naplóbejegyzések másolása</string>
+ <string name="copying_log_entries">Naplóbejegyzések másolása</string>
<string name="faq_copying">Másoláshoz nyomja le és tartsa lenyomva a naplóbejegyzést. A teljes napló küldéséhez használja a Napló Küldése opciót. Használja a hardver menü gombot ha nem látható a GUI-ban.</string>
<string name="faq_shortcut">Parancsikon az indításhoz</string>
<string name="faq_howto_shortcut">Az asztalra helyezhet egy OpenVPN parancsikont. A képernyőkezelő programtól függően parancsikont vagy widget-et helyezhet el.</string>
@@ -149,6 +150,7 @@
<string name="no_bind">Nincs helyi bind</string>
<string name="import_configuration_file">Konfigurációs fájl importálása</string>
<string name="faq_security_title">Biztonsági szempontok</string>
+ <string name="faq_security">"Az OpenVPN biztonságérzékeny, ezért néhány megjegyzés indokolt. Az SD kártyán tárolt bármilyen adat eredendően nem biztonságos. Minden alkalmazás olvashatja (például ez a program sem kíván speciális SD kártya jogosultságokat). Az alkalmazás adait csak az alkalmazás önmaga képes olvasni. A cacert/cert/key fájl párbeszédablakban történő importálásával az adatok a VPN profilban tárolódnak. A VPN profil csak az alkalmazás által hozzáférhető. (Ne felejtse el törölni az SD kártyán tárolt másolatokat.) Az adatok nem titkosítottak, annak ellenére, hogy az adatok csak az alkalmazás számára hozzáférhetőek. A telefon root-olásával vagy egyéb exploit-olásával az adatok még mindig visszaállíthatóak lesznek. A pkcs12 fájlokat erősen ajánlott az android keystore-ba importálni."</string>
<string name="import_vpn">Import</string>
<string name="broken_image_cert_title">Hiba a tanúsítvány kiválasztása során</string>
<string name="broken_image_cert">Exception történt az Android 4.0+ tanúsítvány legördülő megjelenítésekor. Ennek sohasem szabad megtörténnie, mivel ez egy szavványos Android 4.0+ funkció. Lehet, hogy az Android ROM tanúsítványtár támogatása nem működik megfelelően</string>
@@ -158,15 +160,16 @@
<string name="converted_profile">importált profil</string>
<string name="converted_profile_i">%d profil importálva</string>
<string name="broken_images">Működésképtelen image-ek</string>
+ <string name="broken_images_faq">&lt;p&gt;A hivatalos HTC lemezképek köztudottan különös útvonal választási problémákat tartalmaznak, amik azt okozzák, hogy az adatforgalom nem a csatornán kereszül folyik (Lást &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/18\"&gt;Issue 18&lt;/a&gt; a bug tracker-ben.)&lt;/p&gt;&lt;p&gt;Régebbi hivatalos SONY Xperia Arc S és Xperia Ray lemezképekből jelentették, hogy a VPNService teljesen hiányzik. (Lásd &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/29\"&gt;Issue 29&lt;/a&gt; a bug tracker-ben.)&lt;/p&gt;&lt;p&gt;Egyedi fordítású lemezképekben a tun modul hiányozhat vagy a /dev/tun hozzáférési joga lehet nem megfelelő. Néhány CM9 lemezképnél szükséges a \"Fix ownership\" opció engedélyezése a \"Device specific hacks\" alatt.&lt;/p&gt;&lt;p&gt;Legfontosabb: Ha az eszköz Android lemezképe sérült, jelezze a gyártónál. Minél több ember jelent egy esetet a gyártónál, annál esélyesebb hogy javítani fogja.&lt;/p&gt;</string>
<string name="pkcs12_file_encryption_key">PKCS12 Fájltitkosítási kulcs</string>
<string name="private_key_password">Privát kulcs jelszó</string>
<string name="password">Jelszó</string>
- <string name="file_icon">fájlikon</string>
- <string name="tls_authentication">TLS hitelesítés</string>
+ <string name="file_icon">fájl ikon</string>
+ <string name="tls_authentication">TLS hitelesítés / titkosítás</string>
<string name="generated_config">Generált konfiguráció</string>
<string name="generalsettings">Beállítások</string>
<string name="owner_fix_summary">/dev/tun tulajdonosának beállítása. Néhány CM9 image-hez ez kell, hogy a VPNService API működjön. Root szükséges.</string>
- <string name="owner_fix">Fix tulajdonos a /dev/tun-hoz</string>
+ <string name="owner_fix">/dev/tun tulajdonos javítása</string>
<string name="generated_config_summary">Generált OpenVPN konfigurációs fájl megmutatása</string>
<string name="edit_profile_title">\"%s\" szerkesztése</string>
<string name="building_configration">Konfiguráció felépítése&#8230;</string>
@@ -178,9 +181,11 @@
<string name="keychain_nocacert">Nem jött vissza CA tanúsítvány az Android keystore olvasása során. A hitelesítés valószínűleg sikertelen lesz.</string>
<string name="show_log_summary">Napló ablak mutatása a csatlakozás alatt. A napló ablak mindig elérető a rolóról is.</string>
<string name="show_log_window">Naplózási ablak mutatása</string>
+ <string name="mobile_info">%10$s %9$s futtatva %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Hiba az Android keystore %1$s: %2$s kulccsal való belépéskor</string>
+ <string name="faq_system_dialogs">A VPN csatlakozás figyelmeztetés azt jelzi, hogy ez az alkalmazás a rendszer általi teljes forgalmat lehallgathatja a VPNService API visszaélések elkerülése érdekében.\nA VPN csatlakozás értesítés (A kulcs szimbólum) is az Android rendszer jelzése egy kimenő VPN kapcsolatról. Néhány lemezképen ez az értesítés hangot is lejátszik.\nAz android az ön biztonsága érdekében vezette be ezeket a rendszer értesítéseket, és gondoskodott arról, hogy ne lehessen megkerülni. (Néhány lemezképen ez sajnos értesítési hangot is tartalmaz.)</string>
<string name="faq_system_dialogs_title">Kapcsolat figyelmeztetés és értesítés hang</string>
- <string name="translationby">A magyar fordítást készítette Juhász Sándor &lt;msc@digitaltrip.hu&gt;</string>
+ <string name="translationby">A magyar fordítást készítették: kisjuhos, hd_adam, tomygee, Floo19, PettyBlue, ha1dfo</string>
<string name="ipdns">IP és DNS</string>
<string name="basic">Alapvető</string>
<string name="routing">Útválasztás</string>
@@ -190,6 +195,7 @@
<string name="warn_no_dns">Nincsenek DNS szerverek használatban. A névfeloldás nem működik. Fontolja meg az egyéni DNS szerverek beállítását. Kérjük, vegye figyelembe, hogy az Android továbbra is ugyanazokat a proxy beállításokat fogja használni a mobil/WiFi csatlakozáshoz, mint amit a DNS szerverek megadása előtt.</string>
<string name="dns_add_error">Nem lehet hozzáadni a %1$s DNS szervert, a rendszer elutasította: %2$s</string>
<string name="ip_add_error">A \"%1$s\" IP címet nem lehet konfigurálni, a rendszer elutasította: %2$s</string>
+ <string name="faq_howto">&lt;p&gt;Szerezzen be működő konfigurációt (számítógépen tesztelje vagy töltse le a szolgáltatótól/szervezettől)&lt;/p&gt;&lt;p&gt;Ha ez egyetlen fájl extra pem/pkcs12 fájlok nélkül, akkor küldje el önmagának email-ben és nyissa meg a csatolmányt. Ha több fájl akkor másolja az SD kártyára.&lt;/p&gt;&lt;p&gt;Kattintson az email csatolmányra/Használja a mappa ikont a VPN listában az importáláshoz&lt;/p&gt;&lt;p&gt;Ha hibaüzenetet kap hiányzó fájlokról, másolja azokat is az SD kártyára.&lt;/p&gt;&lt;p&gt;Kattintson a mentés szimbólumra az importált VPN kapcsolat VPN listához adásához&lt;/p&gt;&lt;p&gt;Csatlakozzon a VPN-hez a VPN nevére kattintva&lt;/p&gt;&lt;p&gt;Ha hiba- vagy figyelmeztető üzenetek vannak a log-ban, próbálja meg értelmezni és kijavítani őket. &lt;/p&gt; </string>
<string name="faq_howto_title">Quick Start</string>
<string name="setting_loadtun_summary">Próbálja meg betölteni a tun.ko kernel modult mielőtt megpróbál csatlakozni. Root-olt eszköz szükséges.</string>
<string name="setting_loadtun">Tun modul betöltése</string>
@@ -198,24 +204,28 @@
<string name="using_proxy">Proxy használatban: %1$s %2$d</string>
<string name="use_system_proxy">Rendszerproxy használata</string>
<string name="use_system_proxy_summary">Rendszerszintű konfiguráció használata a HTTP/HTTPS proxy csatlakozáshoz.</string>
- <string name="donatewithpaypal">&lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;Adakozhat PayPal-al&lt;/a&gt; </string>
- <string name="onbootrestartsummary">Az OpenVPN újracsatlakozik a VPN-hez ha az aktív volt az újraindításkoz/leállításkor.</string>
- <string name="onbootrestart">Újracsatlakozás újraindításkor</string>
- <string name="ignore">Hagyja figyelmen kívül</string>
+ <string name="onbootrestartsummary">Az OpenVPN csatlakozni fog a VPN-hez, ha az a rendszer indulásakor aktív. Kérem, olvassa el a csatlakozás figyelmeztető GYIK-et mielőtt ezt az opciót Android &lt; 5.0-n használná.</string>
+ <string name="onbootrestart">Csatlakozás rendszerindításkor</string>
+ <string name="ignore">Figyelmen kívül hagy</string>
<string name="restart">Újraindítás</string>
<string name="restart_vpn_after_change">A konfiguráció változások a VPN újraindítása után lépnek életbe. (Újra)indítja most a VPN-t?</string>
<string name="configuration_changed">A konfiguráció megváltozott</string>
<string name="log_no_last_vpn">A legutóbb csatlakozott profil nem található</string>
+ <string name="faq_duplicate_notification_title">Kettőzött értesítések</string>
+ <string name="faq_duplicate_notification">Ha az Android rendszer memória (RAM) kényszer alatt áll, alkalmazások és szolgáltatások amik pillanatnyilag nem szükségesek el lesznek távolítva az aktív memóriából. Ez lezárja a folyamatban levő VPN kapcsolatot. A kapcsolat/OpenVPN túlélése érdekében a szolgáltatás magas prioritással fut. A magas prioritással való futáshoz az alkalmazásnak értesítést kell kijeleznie. A rendszer által mutatott kulcs értesítési ikonról az előző GYIK bejegyzésben olvashat. Ez nem az alkalmazás magas prioritással futásának értesítésére utal.</string>
<string name="no_vpn_profiles_defined">Nincsenek VPN profilok definiálva.</string>
<string name="add_new_vpn_hint">Használd az &lt;img src=\"ic_menu_add\"/&gt; ikont új VPN hozzáadásához</string>
<string name="vpn_import_hint">Használd az &lt;img src=\"ic_menu_archive\"/&gt; ikont egy SD-kártyán meglevő (.ovpn or .conf) profil importálásához.</string>
<string name="faq_hint">Tekintse meg a FAQ-ot. Ott van egy a kezdeti lépéseket segítő leírás.</string>
<string name="faq_routing_title">Routing/Interfész Beállítás</string>
+ <string name="faq_routing">Az útválasztás és interfész konfiguráció nem a hagyományos ifconfig/route parancsokkal történik, hanem a VPNService API használatával. Ez különböző útválasztási konfigurációhoz vezet más operációs rendszereken.\nA VPN csatorna konfigurációja az IP címből és a hálózatokból áll, amelyek útvonala ezen az interfészen keresztül kell vezessen. Tekintettel, hogy peer partner cím vagy átjáró megadása nem szükséges. A VPN szerver eléréséhez szükséges speciális útvonalak (például amik redirect-gateway használatakor vannak hozzáadva) megadása sem szükséges. Az alkalmazás ezeket logikusan figyelmen kívül fogja hagyni a beállítások importálása során. Az alkalmazás a VPNService API által biztosítja, hogy a szerverhez történő csatlakozás ne a VPN csatornán át menjen.\nA VPNService API nem engedi azoknak a hálózatok a megadását, amiknek nem a VPN-en keresztül kellene menniük. Kerülőútként az alkalmazás megpróbálja meghatározni azokat a hálózatokat, amelyek útvonala nem VPN csatornán keresztül kellene haladjon (például x.x.x.x y.y.y.y net_gateway), kiszámolja és kizárja ezeket az útvonalakat, hogy más platformok viselkedését emulálja. Csatlakozási kísérletkor a log ablakban látható a VPNService konfiguráció.\nA színfalak mögött: az Android 4.4+ nem használ policy routing-ot. A route/ifconfig parancsok nem fogják megmutatni a létrehozott útvonalakat. Ehelyett használhatóak az ip rule, iptables -t mangle -L parancsok</string>
<string name="persisttun_summary">Ne térjen vissza VPN kapcsolat nélküli módba, amikor az OpenVPN újracsatlakozik.</string>
<string name="persistent_tun_title">Megmaradó tun</string>
<string name="openvpn_log">OpenVPN Napló</string>
<string name="import_config">OpenVPN konfiguráció importálása</string>
<string name="battery_consumption_title">Akkumulátor használat</string>
+ <string name="baterry_consumption">Személyes tesztjeim alapján a magas akkuhasználatot az OpenVPN keepalive csomagjai okozzák. A legtöbb OpenVPN szerver tartalmaz egy konfigurációs direktívát, mint \'keepalive 10 60\' ami a kliens és a szerver között minden 10 másodpercben keepalive csomagok cseréjét eredményezi. &lt;p&gt; Ezek ugyan kis csomagok és nem okoznak nagy adatforgalmat, de lefoglalják a mobil rádiós részét és ezáltal növelik az energia fogyasztást. (Lásd még &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;) &lt;p&gt; Ez a keepalive küldés nem változtatható a kliensben. Csak az OpenVPN rendszer adminisztrátor tudja megváltoztatni ezt a beállítást. &lt;p&gt; Sajnos 60 másodpercnél nagyobb keepalive használata UDP kapcsolatnál néhány NAT átjárónál a kapcsolat eldobását okozza inaktivitási időtúllépés miatt. Hosszú keepalive timeout működőképes lehet TCP kapcsolat esetén, de TCP csomagok TCP kapcsolatban tunnel-ezése extrém rossz minőségű kapcsolatot eredményezhet magas csomagvesztésű hálózatokon. (Lásd &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Why TCP Over TCP Is A Bad Idea&lt;/a&gt;)</string>
+ <string name="faq_tethering">Az Android internet megosztás funkció (WiFi-n, USB-n vagy Bluetooth-on) és a VPNService API (amit ez a program használ) nem működnek együtt. További részletekért lást &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/34\"&gt;issue #34&lt;/a&gt;</string>
<string name="vpn_tethering_title">VPN és Internetmegosztás</string>
<string name="connection_retries">Csatlakozás újrapróbálkozások</string>
<string name="reconnection_settings">Újracsatlakozás beállítások</string>
@@ -242,12 +252,11 @@
<string name="state_tcp_connect">Csatlakozás (TCP)</string>
<string name="state_auth_failed">Hitelesítési hiba</string>
<string name="state_nonetwork">Várakozás használható hálózatra</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Nincs kapcsolat</string>
- <string name="start_vpn_title">Csatlakozás VPN-hez %s</string>
- <string name="start_vpn_ticker">Csatlakozás VPN-hez %s</string>
+ <string name="start_vpn_title">Csatlakozás a %s VPN-hez</string>
+ <string name="start_vpn_ticker">Csatlakozás a %s VPN-hez</string>
<string name="jelly_keystore_alphanumeric_bug">Néhány Android 4.1-es verzió alatt problémába ütközhet ha a hitelesítési tanúsítvány nevében nem csak alfanumerikus karakterek szerepelnek (mint pl szóköz, alulvonás vagy kötőjel). Speciális karakterek nélkül próbálja újra importálni</string>
- <string name="encryption_cipher">Titkosítás</string>
+ <string name="encryption_cipher">Titkosítás rejtjelezés</string>
<string name="packet_auth">Csomag hitelesítés</string>
<string name="auth_dialog_title">Adja meg a csomaghitelesítési metódust</string>
<string name="built_by">%s fordítóval</string>
@@ -262,18 +271,36 @@
<string name="rdn">RDN (közös név)</string>
<string name="rdn_prefix">RDN előtag</string>
<string name="tls_remote_deprecated">tls-remote (elavult)</string>
- <string name="help_translate">Segíthetsz fordítani ha meglátogatod http://crowdin.net/project/ics-openvpn/invite</string>
+ <string name="help_translate">Segíthetsz fordítani: http://crowdin.net/project/ics-openvpn/invite</string>
<string name="prompt">%1$s próbálkozás %2$s vezérlésre</string>
+ <string name="remote_warning">A folytatással engedélyt ad az alkalmazásnak, hogy teljes mértékben vezérelhesse az OpenVPN for Android-ot és lehallgathassa a teljes hálózati forgalmat.<b>NE fogadja el, ha nem bízik meg az alkalmazásban.</b> Különben azt kockáztatja, hogy az adatait rosszindulatú szoftver veszélyeztetheti.</string>
<string name="remote_trust">Megbízom ebben az alkalmazásban.</string>
<string name="no_external_app_allowed">Egy alkalmazás sem használhat külső API-t</string>
<string name="allowed_apps">Engedélyezett alkalmazások: %s</string>
<string name="clearappsdialog">Engedélyezett külső alkalmazások listájának törlése?\nAz engedélyezett alkalmazások aktuális listája:\n\n%s</string>
+ <string name="screenoff_summary">A VPN szünetel ha kikapcsolt képernyőnél 60 másodpercen belül kevesebb mint 64 kB az adatforgalom. Ha a \"Tartós Tun\" opció engedélyezve van, akkor a VPN szüneteltetése esetén az eszköznek nem lesz hálózati kapcsolata. \"Tartós Tun\" opció nélkül az eszköznek nem lesz VPN kapcsolata/védelme.</string>
<string name="screenoff_title">VPN kapcsolat szüneteltetése a képernyő lekapcsolása után</string>
<string name="screenoff_pause">Kapcsolat szüneteltetése a képernyő kikapcsolt állapotában: kevesebb mint %1$s %2$ss alatt</string>
<string name="screen_nopersistenttun">Figyelmeztetés: Megmaradó tun nem engedélyezett ehhez a VPN-hez. A forgalom a normál internetcsatlakozáson megy amikor a képernyő ki van kapcsolva.</string>
<string name="save_password">Jelszó mentése</string>
+ <string name="pauseVPN">VPN szüneteltetése</string>
+ <string name="resumevpn">VPN helyreállítása</string>
+ <string name="state_userpause">A felhasználó a VPN szüneteltetését kérte</string>
+ <string name="state_screenoff">VPN szüneteltetve - képernyő kikapcsolva</string>
+ <string name="device_specific">Eszköz specifikus Hack-ek</string>
+ <string name="cannotparsecert">Nem lehet megjeleníteni a tanúsítvány információit</string>
+ <string name="appbehaviour">Alkalmazás viselkedés</string>
+ <string name="vpnbehaviour">VPN viselkedés</string>
+ <string name="allow_vpn_changes">VPN Profilok megváltoztatásának engedélyezése</string>
+ <string name="hwkeychain">Hardver Kulcstár:</string>
+ <string name="permission_icon_app">Az alkalmazás ikonja megpróbálja használni az OpenVPN for Android-ot</string>
+ <string name="faq_vpndialog43">"Android 4.3-tól kezdve a VPN jóváhagyás védett az \"átlapoló alkalmazásoktól\". Ez azt eredményezi, hogy a párbeszéd ablak nem reagál érintésre. Ha olyan alkalmazást futtat, ami átlapolást használ az okozhatja ezt a viselkedést. Ha jogsértő alkalmazást észlel, lépjen kapcsolatba az alkalmazás szerzőjével. Ez a probléma minden VPN alkalmazást érint Android 4.3 és későbbi verziókon. Lásd &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Issue 185&lt;a&gt; további részletekért"</string>
+ <string name="faq_vpndialog43_title">VPN Megerősítés Dialógus</string>
+ <string name="donatePlayStore">Esetlegesen, küldhet nekem adományt a Play Store-ral:</string>
+ <string name="thanks_for_donation">Köszönöm az adományt %s!</string>
<string name="logCleared">Napló törölve.</string>
<string name="show_password">Jelszó mutatása</string>
+ <string name="keyChainAccessError">KeyChain Hozzáférési hiba: %s</string>
<string name="timestamp_short">Rövid</string>
<string name="timestamp_iso">ISO</string>
<string name="timestamps">Időbélyegzők</string>
@@ -283,25 +310,114 @@
<string name="vpn_status">Vpn állapot</string>
<string name="logview_options">Nézet beállításai</string>
<string name="unhandled_exception">Nem kezelt kivétel: %1$s\n\n%2$s</string>
- <string name="full_licenses">Teljes engedélyek</string>
+ <string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
+ <string name="faq_system_dialog_xposed">Ha root-olta Android eszközét, akkor installálhatja a &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; -öt és a &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN Dialog confirm module&lt;/a&gt; -t saját felelősségére</string>
+ <string name="full_licenses">Teljes licenszek</string>
+ <string name="blocklocal_summary">Azok a hálózatok útvonalai amik közvetlenül a helyi interfészére csatlakoznak nem a VPN-en keresztül fognak vezetni. Az opció kiválasztásának törlésével minden helyi forgalmat a VPN-hez irányíthat.</string>
+ <string name="blocklocal_title">VPN megkerülése helyi hálózatokhoz</string>
<string name="userpw_file">Felhasználónév/Jelszó fájl</string>
<string name="imported_from_file">[Innen importálva: %s]</string>
<string name="files_missing_hint">Néhány fájl nem található. Kérlek válaszd ki a fájlokat a profil importálásához:</string>
+ <string name="openvpn_is_no_free_vpn">Az alkalmazás használatához szüksége van egy VPN szolgáltatóra / VPN átjáróra ami támogatja az OpenVPN-t (gyakran a munkáltató szolgáltatja). Nézzen utána a http://community.openvpn.net/ címen további információért hogyan készíthet saját OpenVPN kiszolgálót.</string>
<string name="import_log">Importálási napló:</string>
+ <string name="ip_looks_like_subnet">VPN topológia \"%3$s\" specifikálva, de ifconfig %1$s %2$s inkább IP címnek tűnik hálózati maszkkal. \"Alhálózat\" topológiát feltételezve.</string>
+ <string name="mssfix_invalid_value">Az MSS felülbírálati értéknek egész számnak kell lennie 0 és 9000 között</string>
+ <string name="mssfix_value_dialog">Jelentse be a TCP munkameneteknek, hogy korlátozniuk kell a küldendő csomagjaik méretét hogy miután az OpenVPN bekapszulázza őket a peer-nek küldendő eredmény UDP csomag mérete ne haladhassa meg ezt a byte számot. (az alapérték 1450)</string>
+ <string name="mssfix_checkbox">TCP payload MSS felülbírálati érték</string>
+ <string name="mssfix_dialogtitle">MSS beállítás a TCP payload-hoz</string>
+ <string name="client_behaviour">Kliens viselkedés</string>
+ <string name="clear_external_apps">Engedélyezett külső alkalmazások törlése</string>
<string name="loading">Betöltés&#8230;</string>
- <string name="allowed_vpn_apps_info">Engedélyezett VPN programok: %1$s</string>
- <string name="disallowed_vpn_apps_info">Letiltott VPN programok: %1$s</string>
- <string name="app_no_longer_exists">%s csomag már nincs telepítve, eltávolítás a program engedélyező/letiltó listáról</string>
+ <string name="allowed_vpn_apps_info">Engedélyezett VPN alkalmazások: %1$s</string>
+ <string name="disallowed_vpn_apps_info">Letiltott VPN alkalmazások: %1$s</string>
+ <string name="app_no_longer_exists">%s csomag már nincs telepítve, eltávolítás az alkalmazások engedélyező/letiltó listájáról</string>
+ <string name="vpn_disallow_radio">VPN használata minden alkalmazáshoz kivéve a kiválasztottakat</string>
+ <string name="vpn_allow_radio">VPN használata kizárólag a kiválasztott alkalmazásokhoz</string>
+ <string name="query_delete_remote">Távoli kiszolgáló bejegyzés eltávolítása?</string>
<string name="keep">Megtartás</string>
<string name="delete">Törlés</string>
- <string name="server_list">Szerver lista</string>
+ <string name="add_remote">Új távoli kiszolgáló hozzáadása</string>
+ <string name="remote_random">Csatlakozási bejegyzések véletlenszerű használata csatlakozáskor</string>
+ <string name="remote_no_server_selected">Legalább egy távoli kiszolgálót definiálnia és engedélyeznie kell.</string>
+ <string name="server_list">Kiszolgáló lista</string>
+ <string name="vpn_allowed_apps">Engedélyezett Alkalmazások</string>
+ <string name="advanced_settings">Haladó Beállítások</string>
+ <string name="payload_options">Payload opciók</string>
+ <string name="tls_settings">TLS Beállítások</string>
+ <string name="no_remote_defined">Nincs kiszolgáló definiálva</string>
+ <string name="duplicate_vpn">VPN profil duplikálás</string>
+ <string name="duplicate_profile_title">Profil duplikálása: %s</string>
<string name="show_log">Napló mutatása</string>
+ <string name="faq_android_clients">Több OpenVPN kliens létezik Androidra. A leggyakoribb az OpenVPN for Android (ez a kliens), OpenVPN Connect és OpenVPN Settings.&lt;p&gt;A kliensek két csoportra oszthatóak: az OpenVPN for Android és az OpenVPN Connect a hivatalos VPNService API-t (Android 4.0+) használják és nem igényelnek root jogokat, és az OpenVPN Settings, ami root-ot használ.&lt;p&gt;Az OpenVPN for Android egy nyílt forráskódú kliens, amit Arne Schwabe fejleszt. Hozzáértőbb felhasználókat céloz meg, mivel rengeteg beállítást kínál, lehetőséget ad profilok fájlból történő importálására és alkalmazáson belüli konfigurálására/váltására. A kliens az OpenVPN közösségi verziójára épül, az OpenVPN 2.x verzió forráskódja alapján. Ezt a klienst tekinthetjük úgy, mint a félhivatalos közösségi klienst.&lt;p&gt;Az OpenVPN Connect nem nyílt forráskódú, amit az OpenVPN Technologies cég fejleszt. A klienst általános célra szánták az átlag felhasználók számára és engedi profilok importálását. Ez a kliens az OpenVPN C++ OpenVPN protokolljának újra-implementációjára épül (Ez volt az elvárás hogy az OpenVPN Technologies cég közzé tehessen egy iOS OpenVPN alkalmazást is). Ez a kliens az OpenVPN Technologies cég hivatalos kliense. &lt;p&gt; Az OpenVPN Settings a legrégebbi a kliensek között, egy UI a nyílt forráskódú OpenVPN-hez. Az OpenVPN for Android-dal szemben root jogosultságot igényel és nem használja az OpenVPN API-t. Nincs Android 4.0+ függése</string>
+ <string name="faq_androids_clients_title">Különbségek az Android OpenVPN kliensek között</string>
+ <string name="ignore_multicast_route">Multicast útvonal figyelmen kívül hagyása: %s</string>
+ <string name="ab_only_cidr">Az Android csak a CIDR útvonalakat támogatja a VPN-nél. Mivel nem-CIDR útvonalakat majdnem soha sem használnak, ezért az OpenVPN for ANdroid /32-t használ a nem-CIDR útvonalakhoz és figyelmeztetést ad.</string>
+ <string name="ab_tethering_44">Internetmegosztás működik mialatt a VPN aktív. A megosztott kapcsolat NEM fogja használni a VPN-t.</string>
+ <string name="ab_kitkat_mss">A korai KitKat verzió rosszul állítja be az MSS értéket a TCP kapcsolaton (#61948). Próbálja meg engedélyezni az mssfix opciót a hiba kiküszöbölésére.</string>
+ <string name="ab_proxy">Az Android továbbra is használni fogja a proxy beállításokat, amik a mobil/WiFi kapcsolathoz vannak megadva ameddig nincs beállítva DNS kiszolgáló. Az OpenVPN for Android erről figyelmeztetni fog a log-ban.<p>Amikor a VPN beállít egy DNS kiszolgálót, az Android nem fogja tovább használni a proxy-t. Nincs API proxy beállításra VPN kapcsolathoz.</p></string>
+ <string name="ab_lollipop_reinstall">A VPN alkalmazások nem biztos hogy működnek ha uninstallálják majd újra installálják. A részleteket lásd #80074</string>
+ <string name="ab_not_route_to_vpn">A konfigurált kliens IP és a hálózati maszkjában levő IP-k útvonala nem a VPN-en keresztül vezet. Az OpenVPN úgy küszöböli ki ezt a hibát, hogy explicit hozzáad egy útvonalat ami a kliens IP és hálózati maszkjának megfelel</string>
+ <string name="ab_persist_tun">Egy tun eszköz megnyitása, mialatt egy másik tun eszköz aktív, ami megmaradó-tun esetén használt, a VPNService összeomlását okozza az eszközön. A VPN újbóli működéséhez újraindítás szükséges. Az OpenVPN for Android megpróbálja elkerülni a tun eszköz újra megnyitását és ha valóban szükséges akkor először lezárja az aktuális TUN-t az új TUN megnyitása előtt az összeomlás elkerülése érdekében. Ez egy rövid ablakoz vezethet ami alatt csomagok továbbítódhatnak nem-VPN kapcsolaton keresztül. A VPNService ennek ellenére néha mégis összeomlik, ami az eszköz újraindítását igényli.</string>
+ <string name="ab_secondary_users">A VPN egyáltalán nem működik másodlagos felhasználóknak.</string>
+ <string name="ab_kitkat_reconnect">"Több felhasználó jelentette, hogy a mobil kapcsolat/mobil adat gyakran megszakad a VPN használata alatt. Ez a viselkedés úgy tűnik csak néhány mobil szolgáltató/eszköz kombinációt érint és eddig nem azonosítottak okot/kiküszöbölést a hibára. "</string>
+ <string name="ab_vpn_reachability_44">Csak azok a célállomások érhetőek el VPN-en, amik VPN nélkül is elérhetőek. Az IPv6 VPN egyáltalán nem működik.</string>
+ <string name="ab_only_cidr_title">Nem CIDR Útvonalak</string>
+ <string name="ab_proxy_title">Proxy viselkedés a VPN-ekhez</string>
+ <string name="ab_lollipop_reinstall_title">VPN alkalmazások újratelepítése</string>
+ <string name="version_upto">%s és korábbi</string>
+ <string name="copy_of_profile">%s másolata</string>
+ <string name="ab_not_route_to_vpn_title">Útvonal a konfigurált IP címhez</string>
+ <string name="ab_kitkat_mss_title">Rossz MSS érték a VPN kapcsolathoz</string>
+ <string name="ab_secondary_users_title">Másodlagos tablet felhasználók</string>
+ <string name="custom_connection_options_warng">Határozzon meg egyedi kapcsolat specifikus opciókat. Elővigyázatosan használja</string>
<string name="custom_connection_options">Egyéni beállítások</string>
- <string name="version_and_later">%s és később</string>
+ <string name="remove_connection_entry">Kapcsolat bejegyzés eltávolítása</string>
+ <string name="ab_kitkat_reconnect_title">Véletlenszerű lecsatlakozások a mobil hálózatról</string>
+ <string name="ab_vpn_reachability_44_title">A távoli hálózat nem elérhető</string>
+ <string name="ab_persist_tun_title">Megmaradó tun mód</string>
+ <string name="version_and_later">%s és későbbi</string>
+ <string name="tls_cipher_alert_title">Kapcsolódás sikertelen SSL23_GET_SERVER_HELLO:sslv3 alert handshake hibával</string>
+ <string name="tls_cipher_alert">Újabb OpenVPN for Android verziók (0.6.29/2015 március) biztonságosabb alapértelmezést használnak az engedélyezett rejtjelező kísérletekhez (tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). Sajnos a kevésbé biztonságos és export rejtjelező kísérletek kihagyása, különösen azoknak a rejtjelező kísérleteknek a kihagyása amik nem támogatják a Perfect Forward Security-t (Diffie-Hellman), néhány problémát okoz. Ezt általában egy jószándékú de gyengén végrehajtott TLS biztonság fokozás okozza a szerveren vagy néhány beágyazott OS-nél lecsupaszított SSL-el (pl.: MikroTik).\nA probléma megoldásához állítsa a tls-rejtjelezés alapértelmezését ésszerűbbre a szerveren, mint például tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\". A probléma kliensen történő kiküszöböléséhez adja hozzá az Android kliensben az egyedi opciókhoz hogy tls-cipher DEFAULT.</string>
+ <string name="message_no_user_edit">Ez a profil egy külső alkalmazásból (%s) lett hozzáadva és a felhasználó által nem szerkeszthetőnek lett jelölve.</string>
+ <string name="crl_file">Tanúsítvány Visszavonási Lista</string>
+ <string name="service_restarted">OpenVPN Service újraindítása (az alkalmazás valószínűleg összeomlott vagy memória nyomásra bezárták)</string>
+ <string name="import_config_error">A konfiguráció importálása akadályba ütközött, nem lehet menteni</string>
<string name="Search">Keresés</string>
+ <string name="lastdumpdate">(Utolsó dump %3$s (%1$d:%2$d))</string>
+ <string name="clear_log_on_connect">Napló törlése új kapcsolódáskor</string>
+ <string name="connect_timeout">Csatlakozás Időtúllépés</string>
+ <string name="no_allowed_app">Nincs engedélyezett alkalmazás hozzáadva. Saját magunk (%s) hozzáadása, hogy legalább egy alkalmazás legyen az engedélyezett alkalmazások listáján, hogy ne engedjünk meg minden alkalmazást</string>
+ <string name="query_permissions_sdcard">Az OpenVPN for Android képes automatikusan felderíteni a hiányzó fájlokat az SD kártyán. Az üzenetre koppintva elindul az engedély kérés.</string>
<string name="protocol">Protokoll</string>
<string name="enabled_connection_entry">Engedélyezett</string>
- <string name="months_left">%d hónap van hátra</string>
- <string name="days_left">%d nap van hátra</string>
- <string name="hours_left">%d óra van hátra</string>
+ <string name="abi_mismatch">Preferred native ABI precedence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
+ <string name="permission_revoked">A VPN engedélyt visszavonta az OS (pl.: másik VPN program indult), VPN leállítása</string>
+ <string name="pushpeerinfo">Peer információ küldése</string>
+ <string name="pushpeerinfosummary">Extra információ küldése a kiszolgálónak, pl.: SSL verzió és Android verzió</string>
+ <string name="pw_request_dialog_title">%1$s szükséges</string>
+ <string name="pw_request_dialog_prompt">Kérem adja meg a %1$s profilhoz tartozó jelszót</string>
+ <string name="menu_use_inline_data">Beágyazott adatok használata</string>
+ <string name="export_config_chooser_title">Konfigurációs fájl exportálása</string>
+ <string name="missing_tlsauth">Hiányzó tls-auth fájl</string>
+ <string name="missing_certificates">Hiányzó felhasználói tanúsítvány vagy privát kulcs fájl</string>
+ <string name="missing_ca_certificate">Hiányzó CA tanúsítvány</string>
+ <string name="crl_title">Tanúsítvány Visszavonási Lista (opcionális)</string>
+ <string name="reread_log">%d napló bejegyzés újraolvasása a log cache fájlból</string>
+ <string name="samsung_broken">Annak ellenére, hogy a Samsung telefonok a legtöbbet eladott Android telefonok közé tartoznak, a Samsung firmware-ek a leg bug-osabb Android firmware-ek. Ezeken az eszközökön a hibák nem csak a VPN működésre korlátozódnak, de nagy részük kiküszöbölhető. A következő néhány ilyen hiba leírása.\n\nA DNS nem működik hacsak nem a DNS kiszolgáló a VPN tartományban van.\n\nSok Samsung 5.x eszközön nem működik az engedélyezett/tiltott alkalmazások funkció.\nSamsung 6.0-n a VPN nem működik hacsak nem adjuk hozzá kivételként az alkalmazást a Powersave funkcióknál.</string>
+ <string name="samsung_broken_title">Samsung telefonok</string>
+ <string name="novpn_selected">Nincs VPN kiválasztva.</string>
+ <string name="reconnect">Újracsatlakozás</string>
+ <string name="qs_title">VPN be/kikapcsolás</string>
+ <string name="qs_connect">Csatlakozás %s-hez</string>
+ <string name="qs_disconnect">%s bontása</string>
+ <string name="connectretrymaxmessage">Adja meg a csatlakozási kísérletek közötti maximális időt. Az OpenVPN eddig az értékig fokozatosan növeli a sikertelen csatlakozási kísérletek közötti várakozási időt. 300 másodperc az alapértelmezett.</string>
+ <string name="connectretrymaxtitle">Csatlakozási kísérletek közötti maximális idő</string>
+ <string name="state_waitconnectretry">%s másodperc várakozás a csatlakozási kísérletek között</string>
+ <string name="nought_alwayson_warning"><![CDATA[Ha nem jelent meg a VPN megerősítés ablak, akkor egy másik alkalmazáshoz engedélyezve van a \"Mindig VPN-en\". Ebben az esetben csak az az alkalmazás csatlakozhat VPN-hez. Ellenőrizze a Beállítások -> Hálózatok további... -> VPN-ek alatt]]></string>
+ <string name="management_socket_closed">OpenVPN kapcsolatot lezárva (%s)</string>
+ <string name="change_sorting">Rendezés megváltoztatása</string>
+ <string name="sort">Rendezés</string>
+ <string name="sorted_lru">A profilok a legutóbbi használat szerint rendezve</string>
+ <string name="sorted_az">A profilok név szerint rendezve</string>
+ <string name="deprecated_tls_remote">A konfiguráció tls-remote opciót használ, ami a 2.3-ban elavulttá vált és a 2.4-ben végleg eltávolították</string>
</resources>
diff --git a/main/src/main/res/values-in/arrays.xml b/main/src/main/res/values-in/arrays.xml
index 1d7dde67..c876ea78 100755
--- a/main/src/main/res/values-in/arrays.xml
+++ b/main/src/main/res/values-in/arrays.xml
@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Sertifikat</item>
- <item>Berkas PKCS12</item>
+ <item>Berkas PKCS1
+20</item>
<item>Android Certificate</item>
<item>Nama Pengguna\Sandi</item>
<item>Kunci Tetap</item>
@@ -12,8 +18,14 @@
<item>Pengguna/Kata Sandi + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Belum ditentukan</item>
+ <item>Encryption (tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Disconnect, forget password</item>
+ <item>Disconnect, keep password</item>
+ <item>Abaikan, coba lagi</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-in/plurals.xml b/main/src/main/res/values-in/plurals.xml
new file mode 100755
index 00000000..6b7daaef
--- /dev/null
+++ b/main/src/main/res/values-in/plurals.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="other">%d bulan kiri</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="other">%d hari lagi</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-in/strings.xml b/main/src/main/res/values-in/strings.xml
index b3cd36af..41fc6a67 100755
--- a/main/src/main/res/values-in/strings.xml
+++ b/main/src/main/res/values-in/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Silakan masukan nama profil yang berbeda</string>
<string name="profilename">Nama profil</string>
<string name="no_keystore_cert_selected">Anda harus memilih sertifikat pengguna</string>
+ <string name="no_ca_cert_selected">Opoeo</string>
<string name="no_error_found">Tidak ada kesalahan</string>
<string name="config_error_found">Konfigurasi Salah</string>
<string name="ipv4_format_error">Kesalahan penulisan alamat IPV4</string>
<string name="custom_route_format_error">Gagal menganalisa rute buatan</string>
<string name="pw_query_hint">(biarkan kosong untuk antrian permintaan)</string>
<string name="vpn_shortcut">Jalan Pintas OpenVPN</string>
- <string name="vpn_launch_title">Hubungkan VPN</string>
+ <string name="vpn_launch_title">Dyan</string>
<string name="shortcut_profile_notfound">Profil di shrotcut tidak ada</string>
<string name="random_host_prefix">Acak awalan Host </string>
<string name="random_host_summary">Tambah 6 karakter acak di depan nama host</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Sandi kunci pribadi</string>
<string name="password">Sandi</string>
<string name="file_icon">ikon berkas</string>
- <string name="tls_authentication">Otentikasi TLS</string>
+ <string name="tls_authentication">TLS Authentication / Enkripsi</string>
<string name="generated_config">Konfigurasi Dibuat</string>
<string name="generalsettings">Pengaturan</string>
<string name="owner_fix_summary">Mencoba menetapkan pemilik /dev/tun ke sistem. Beberapa gambar CM9 memerlukan ini untuk membuat API VPNService bekerja. Memerlukan akses Root.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Menggunakan proxy %1$s %2$d</string>
<string name="use_system_proxy">Gunakan sistem proxy</string>
<string name="use_system_proxy_summary">Gunakan konfigurasi lebih luas untuk menyambung system melalui proxy HTTP/HTTPS</string>
- <string name="donatewithpaypal">Anda dapat melakukan donasi &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;dengan PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN akan menyambung kembali VPN jika VPN aktif pada saat sistem reboot/shutdown. Silakan baca FAQ tentang peringatan sambungan sebelum menggunakan pilihan ini.</string>
- <string name="onbootrestart">Koneksi ulang saat perangkat dihidupkan kembali</string>
+ <string name="onbootrestartsummary">OpenVPN akan menghubungkan VPN ditentukan apakah itu aktif di sistem boot. Silakan baca koneksi peringatan FAQ sebelum menggunakan opsi ini pada Android &lt; 5.0.</string>
+ <string name="onbootrestart">Minatosuki</string>
<string name="ignore">Abaikan</string>
<string name="restart">Restart</string>
<string name="restart_vpn_after_change">Perubahan konfigurasi baru diterapkan setelah restart VPN. Restart VPN sekarang?</string>
@@ -252,7 +252,6 @@
<string name="state_tcp_connect">Menghubungkan (TCP)</string>
<string name="state_auth_failed">Otentifikasi gagal</string>
<string name="state_nonetwork">Menunggu jaringan yang dapat dipakai</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Tidak terhubung</string>
<string name="start_vpn_title">Menghubungkan ke VPN %s</string>
<string name="start_vpn_ticker">Menghubungkan ke VPN %s</string>
@@ -378,4 +377,10 @@
<string name="ab_persist_tun_title">Modus terowongan bertahan</string>
<string name="version_and_later">%s dan yang lebih baru</string>
<string name="tls_cipher_alert_title">Sambungan gagal dengan peringatan kegagalan jabat tangan SSL23_GET_SERVER_HELLO:sslv3</string>
+ <string name="tls_cipher_alert">Dyankoclok</string>
+ <string name="message_no_user_edit">Profil ini telah ditambahkan dari aplikasi eksternal (%s) dan telah ditandai sebagai pengguna tidak dapat diedit.</string>
+ <string name="crl_file">Certificate Revocation List</string>
+ <string name="service_restarted">Restart layanan OpenVPN (App jatuh mungkin jatuh atau dibunuh untuk memori tekanan)</string>
+ <string name="import_config_error">Mengimpor konfigurasi menghasilkan kesalahan, tidak bisa menyimpannya</string>
+ <string name="Search">Pencarian</string>
</resources>
diff --git a/main/src/main/res/values-it/arrays.xml b/main/src/main/res/values-it/arrays.xml
index 4d6b401c..f71ada65 100755
--- a/main/src/main/res/values-it/arrays.xml
+++ b/main/src/main/res/values-it/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificati</item>
<item>File PKCS12</item>
@@ -12,8 +17,9 @@
<item>Utente/Passsword + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Non specificato</item>
+ <item>Encryption (--tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-it/plurals.xml b/main/src/main/res/values-it/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-it/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-it/strings.xml b/main/src/main/res/values-it/strings.xml
index 42b34c63..983d5faa 100755
--- a/main/src/main/res/values-it/strings.xml
+++ b/main/src/main/res/values-it/strings.xml
@@ -50,7 +50,6 @@
<string name="custom_route_format_error">Errore durante la lettura delle regole di reindirizzamento (routing)</string>
<string name="pw_query_hint">(non compilare perché venga sempre richiesto)</string>
<string name="vpn_shortcut">Collegamento a OpenVPN</string>
- <string name="vpn_launch_title">Connetti alla VPN</string>
<string name="shortcut_profile_notfound">Profilo indicato nel collegamento non trovato</string>
<string name="random_host_prefix">Prefisso Host casuale</string>
<string name="random_host_summary">Aggiunge 6 caratteri casuali prima dell\'hostname</string>
@@ -166,7 +165,6 @@ Effettuata la lettura del file di configurazione</string>
<string name="private_key_password">Password della chiave privata</string>
<string name="password">Password</string>
<string name="file_icon">icona del file</string>
- <string name="tls_authentication">Autenticazione TLS</string>
<string name="generated_config">Configurazione generata</string>
<string name="generalsettings">Impostazioni</string>
<string name="owner_fix_summary">Tenta di impostare system come proprietario di /dev/tun. Alcuni firmware CM9 necessitano di questa impostazione affinché le API del servizio VPN funzionino. E\' necessario essere root.</string>
@@ -204,9 +202,6 @@ Effettuata la lettura del file di configurazione</string>
<string name="using_proxy">Si sta utilizzando il proxy %1$s %2$d</string>
<string name="use_system_proxy">Utilizza il proxy di sistema</string>
<string name="use_system_proxy_summary">Utilizza la configurazione generale del sistema relativa ai proxy HTTP/HTTPS per connettersi.</string>
- <string name="donatewithpaypal">Puoi &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;donare tramite PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN is riconnetterà alla VPN se era in funzione durante un riavvio od un spegnimento dell\'apparecchio. Leggi con attenzione le FAQ con gli avvertimenti sulla connessione prima di scegliere questa opzione.</string>
- <string name="onbootrestart">Riconnetti al riavvio</string>
<string name="ignore">Ignora</string>
<string name="restart">Riavvia</string>
<string name="restart_vpn_after_change">Le modifiche sarannoi applicate dopo aver riavviato la connessione VPN. Riavviare ora la connessione?</string>
@@ -253,7 +248,6 @@ Effettuata la lettura del file di configurazione</string>
<string name="state_tcp_connect">Connessione in corso (TCP)</string>
<string name="state_auth_failed">Autenticazione fallita</string>
<string name="state_nonetwork">In attesa di una rete utilizzabile</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Non connesso</string>
<string name="start_vpn_title">Connessione alla VPN %s in corso</string>
<string name="start_vpn_ticker">Connessione alla VPN %s in corso</string>
diff --git a/main/src/main/res/values-ja/arrays.xml b/main/src/main/res/values-ja/arrays.xml
index d8ed2e33..4ca5131e 100755
--- a/main/src/main/res/values-ja/arrays.xml
+++ b/main/src/main/res/values-ja/arrays.xml
@@ -1,20 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>証明書</item>
- <item>PKCS12 ファイル</item>
+ <item>PKCS12ファイル</item>
<item>Androidの証明書管理</item>
<item>User/PW</item>
- <item>共有鍵</item>
- <item>ユーザ名/パスワードと証明書</item>
- <item>ユーザ名/パスワードとPKCS12ファイル</item>
+ <item>静的鍵</item>
+ <item>User/PWと証明書</item>
+ <item>User/PWとPKCS12ファイル</item>
<item>User/PWとAndroidの証明書管理</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>未指定</item>
+ <item>暗号化(tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>パスワードを破棄して切断</item>
+ <item>パスワードを維持して切断</item>
+ <item>無視して再試行</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-ja/plurals.xml b/main/src/main/res/values-ja/plurals.xml
new file mode 100755
index 00000000..0511286f
--- /dev/null
+++ b/main/src/main/res/values-ja/plurals.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="other">残り%dヵ月</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="other">残り%d日</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="other">残り%d時間</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="other">残り%d分</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-ja/strings.xml b/main/src/main/res/values-ja/strings.xml
index b8773580..f272ded1 100755
--- a/main/src/main/res/values-ja/strings.xml
+++ b/main/src/main/res/values-ja/strings.xml
@@ -6,20 +6,20 @@
-->
<resources>
<string name="app">OpenVPN for Android</string>
- <string name="address">サーバーアドレス:</string>
+ <string name="address">サーバーアドレス:</string>
<string name="port">ポート番号:</string>
<string name="location">場所</string>
- <string name="cant_read_folder">ディレクトリが読み取れません</string>
+ <string name="cant_read_folder">ディレクトリを読み取れません</string>
<string name="select">選択</string>
<string name="cancel">キャンセル</string>
- <string name="no_data">データなし</string>
+ <string name="no_data">データがありません</string>
<string name="useLZO">LZO圧縮</string>
- <string name="client_no_certificate">証明書がありません。</string>
+ <string name="client_no_certificate">証明書がありません</string>
<string name="client_certificate_title">クライアント証明書</string>
<string name="client_key_title">クライアント証明書のキー</string>
<string name="client_pkcs12_title">PKCS12ファイル</string>
- <string name="ca_title">CA 証明書</string>
- <string name="no_certificate">証明書を選択する必要があります。</string>
+ <string name="ca_title">CA証明書</string>
+ <string name="no_certificate">証明書を選択する必要があります</string>
<string name="copyright_guicode">ソースコードと問題管理はこちら: https://github.com/schwabe/ics-openvpn/</string>
<string name="copyright_others">プログラムは、次のコンポーネントを使用します。完全な詳細についてはソース上のライセンスを参照してください。</string>
<string name="about">バージョン情報</string>
@@ -27,7 +27,7 @@
<string name="vpn_type">種別</string>
<string name="pkcs12pwquery">PKCS12のパスワード</string>
<string name="file_select">選択&#8230;</string>
- <string name="file_nothing_selected">ファイルを選択する必要があります。</string>
+ <string name="file_nothing_selected">ファイルを選択する必要があります</string>
<string name="useTLSAuth">TLS認証を使用する</string>
<string name="tls_direction">TLS Direction</string>
<string name="ipv6_dialog_tile">IPv6アドレスをCIDR形式で入力(例:2000:dd::23/64)</string>
@@ -43,37 +43,38 @@
<string name="add_profile_name_prompt">新しいプロファイルを識別する名前を入力します</string>
<string name="duplicate_profile_name">プロファイル名が重複しています。</string>
<string name="profilename">プロファイル名</string>
- <string name="no_keystore_cert_selected">ユーザー証明書を選択する必要があります。</string>
- <string name="no_error_found">エラーは見つかりませんでした。</string>
- <string name="config_error_found">設定に誤りがあります。</string>
+ <string name="no_keystore_cert_selected">ユーザー証明書を選択する必要があります</string>
+ <string name="no_ca_cert_selected">証明書を選択する必要があります</string>
+ <string name="no_error_found">エラーは見つかりませんでした</string>
+ <string name="config_error_found">設定に誤りがあります</string>
<string name="ipv4_format_error">IPv4 アドレスの解析エラー</string>
<string name="custom_route_format_error">カスタム経路の解析エラー</string>
<string name="pw_query_hint">必要に応じて入力するには空欄にしてください</string>
<string name="vpn_shortcut">OpenVPN のショートカット</string>
- <string name="vpn_launch_title">VPNに接続</string>
+ <string name="vpn_launch_title">VPNに接続しています...</string>
<string name="shortcut_profile_notfound">ショートカットで指定されたプロファイルが見つかりません</string>
<string name="random_host_prefix">ランダムなホスト プレフィックス</string>
<string name="random_host_summary">ランダムな6文字をホスト名の前に付加します。</string>
<string name="custom_config_title">カスタム オプションを使用する</string>
<string name="custom_config_summary">カスタムオプションを指定します。注意して使用してください!</string>
<string name="route_rejected">経路がAndroidにより拒否されました。</string>
- <string name="cancel_connection">切断</string>
- <string name="cancel_connection_long">VPNを切断します</string>
+ <string name="cancel_connection">VPNを切断</string>
+ <string name="cancel_connection_long">VPN接続を切断</string>
<string name="clear_log">ログをクリア</string>
- <string name="title_cancel">キャンセルの確認</string>
- <string name="cancel_connection_query">接続中または試行中の接続をキャンセルしますか?</string>
+ <string name="title_cancel">切断の確認</string>
+ <string name="cancel_connection_query">接続中のVPNを切断、または試行中の接続をキャンセルしますか?</string>
<string name="remove_vpn">VPN を削除</string>
- <string name="check_remote_tlscert">サーバが証明書とともにTLS拡張(--remote-cert-tls server)を使用しているか確認する</string>
+ <string name="check_remote_tlscert">サーバが証明書とともにTLS拡張(--remote-cert-tls server)を使用しているか確認します。</string>
<string name="check_remote_tlscert_title">TLSサーバー証明書を要求する</string>
<string name="remote_tlscn_check_summary">リモートサーバー証明書の所有者識別子(Subject DN)を確認します。</string>
<string name="remote_tlscn_check_title">証明書のホスト名を確認する</string>
<string name="enter_tlscn_dialog">リモート証明書の照合に使用する識別名(DN)を指定します。(例: C=DE, L=Paderborn, OU=Avian IP Carriers, CN=openvpn.blinkt.de)\n\n完全な識別名(DN)または相対識別名(RDN)、あるいは相対識別名のプリフィクスを指定します。\n\nたとえば相対識別名のプリフィクスとして\"Server\"を指定すると、\"Server-1\"と\"Server-2\"にマッチします。\n\n空欄にした場合は相対識別名とサーバのホスト名をチェックします。\n\n詳細についてはOpenVPN 2.3.1以降のマニュアルの「--verify-x509-name」の項を参照してください。</string>
<string name="enter_tlscn_title">リモート証明書サブジェクト</string>
- <string name="tls_key_auth">TLS鍵認証を有効にする</string>
+ <string name="tls_key_auth">TLS鍵認証を有効にします。</string>
<string name="tls_auth_file">TLS 認証ファイル</string>
<string name="pull_on_summary">IPアドレス、経路情報、DNSなどの情報をサーバから取得します。</string>
<string name="pull_off_summary">サーバからは何も情報が取得できません。指定が必要な設定は以下の通りです。</string>
- <string name="use_pull">情報取得の設定</string>
+ <string name="use_pull">設定情報を取得する</string>
<string name="dns">DNS</string>
<string name="override_dns">DNSを手動設定する</string>
<string name="dns_override_summary">DNSをユーザ側で指定します。</string>
@@ -84,18 +85,18 @@
<string name="backup_dns">セカンダリDNSサーバー</string>
<string name="ignored_pushed_routes">サーバ側指定の経路情報を無視する</string>
<string name="ignore_routes_summary">サーバからプッシュされた経路情報を無視します。</string>
- <string name="default_route_summary">すべての通信をVPN経由にします</string>
- <string name="use_default_title">既定の経路に使用</string>
+ <string name="default_route_summary">すべての通信をVPN経由にします。</string>
+ <string name="use_default_title">既定の経路に使用する</string>
<string name="custom_route_message">カスタム経路を入力します。宛先のみをCIDR形式で指定します。例えば \"10.0.0.0/8 2002::/16\"と指定すれば10.0.0.0/8と2002::/16への通信はVPNに向けられます。</string>
<string name="custom_route_message_excluded">VPNを経由しないネットワークを指定します。カスタム経路と同じ書式を使用します。</string>
<string name="custom_routes_title">カスタム経路情報</string>
<string name="custom_routes_title_excluded">除外されたネットワーク</string>
<string name="log_verbosity_level">ログの詳細度</string>
<string name="float_summary">認証済みパケットをどのIPからでも受け付けます。</string>
- <string name="float_title">フローティング サーバーを許可</string>
+ <string name="float_title">フローティング サーバーを許可する</string>
<string name="custom_options_title">カスタムオプション</string>
- <string name="edit_vpn">VPN 設定の編集</string>
- <string name="remove_vpn_query">VPN プロファイル %s を削除しますか?</string>
+ <string name="edit_vpn">VPN設定の編集</string>
+ <string name="remove_vpn_query">VPNプロファイル %s を削除しますか?</string>
<string name="tun_error_helpful">いくつかのカスタムICSイメージは、/dev/tunのパーミッションが異常か、TUNモジュールが含まれていません。CM9イメージの場合は全般設定で所有権設定を修正してください。</string>
<string name="tun_open_error">TUNデバイスを開こうとして失敗しました。</string>
<string name="error">"エラー:"</string>
@@ -116,15 +117,15 @@
<string name="ics_openvpn_log_file">ICS OpenVPN ログ ファイル</string>
<string name="copied_entry">ログ エントリをクリップボードにコピーしました</string>
<string name="tap_mode">TAPモード</string>
- <string name="faq_tap_mode">TAPモードは非root化環境では動作しません。よってこのアプリケーションではTAPをサポートできません。</string>
+ <string name="faq_tap_mode">TAPモードはroot化されていないVPN APIでは動作しません。よってこのアプリケーションではTAPをサポートできません。</string>
<string name="tap_faq2">またですか?TAPモードはサポートされていませんし、サポートされるかどうかメールを送ることは何の役にも立ちません。</string>
- <string name="tap_faq3">3回目です。本当のところ、TUN上で動くレイヤ2エミュレータを書くことはできました。(送信時の情報追加と受信時の情報削除で)。しかしこのエミュレータはARPやおそらくはDHCPをも実装しなければならないでしょう。誰もこのことに気がついていません。もしあなたがこの機能を作る気になったのであれば、どうぞ私に連絡してください。</string>
+ <string name="tap_faq3">3回目ですか?本当のところ、TUN上で動くレイヤ2エミュレータを書くことはできました。(送信時の情報追加と受信時の情報削除で)。しかしこのエミュレータはARPやおそらくはDHCPをも実装しなければならないでしょう。誰もこのことに気がついていません。もしあなたがこの機能を作る気になったのであれば、どうぞ私に連絡してください。</string>
<string name="faq">よくある質問</string>
<string name="copying_log_entries">ログ エントリのコピー</string>
<string name="faq_copying">1行のログエントリをコピーするには、そのエントリをタッチし続けます。コピー/送信するには「ログエントリを送信」を使用します。GUIで表示されない場合はハードウェアのメニューボタンを使用してください。</string>
<string name="faq_shortcut">起動ショートカット</string>
<string name="faq_howto_shortcut">OpenVPNを起動するためのショートカットをデスクトップに配置できます。ショートカットやウィジェットを配置できるかどうかはホームスクリーンプログラムに依存します。</string>
- <string name="no_vpn_support_image">申し訳ありませんが、お使いの環境ではVPNサービスがサポートされていません。</string>
+ <string name="no_vpn_support_image">申し訳ありませんが、お使いの環境ではVPNサービスがサポートされていません</string>
<string name="encryption">暗号化</string>
<string name="cipher_dialog_title">暗号化方式を入力</string>
<string name="chipher_dialog_message">OpenVPNが暗号化に使用する暗号方式を入力してください。空欄にするとデフォルトを使用します。</string>
@@ -133,21 +134,21 @@
<string name="file_explorer_tab">ファイルを選択</string>
<string name="inline_file_tab">インライン ファイル</string>
<string name="error_importing_file">ファイルのインポート エラー</string>
- <string name="import_error_message">ファイルシステムからファイルをインポートできませんでした。</string>
+ <string name="import_error_message">ファイルシステムからファイルをインポートできませんでした</string>
<string name="inline_file_data">[インライン ファイル データ]</string>
<string name="opentun_no_ipaddr">IP情報なしでのTUNデバイス使用は拒否しています</string>
<string name="menu_import">OVPNファイルからプロファイルをインポート</string>
<string name="menu_import_short">インポート</string>
<string name="import_content_resolve_error">インポートするプロファイルを読み取れませんでした。</string>
- <string name="error_reading_config_file">構成ファイルの読み取りエラー</string>
+ <string name="error_reading_config_file">設定ファイルの読み取りエラー</string>
<string name="add_profile">プロファイルの追加</string>
- <string name="import_could_not_open">インポートされた構成ファイルに記載されたファイル %1$s が見つかりません。</string>
- <string name="importing_config">構成ファイルを%1$sからインポートしています。</string>
+ <string name="import_could_not_open">インポートされた設定ファイルに記載されたファイル %1$s が見つかりません。</string>
+ <string name="importing_config">設定ファイルを%1$sからインポートしています。</string>
<string name="import_warning_custom_options">ユーザインターフェースにマッピングされていないいくつかの設定項目があります。それらの設定はカスタムオプションとして追加されます。カスタムオプションを以下に表示します。</string>
- <string name="import_done">構成ファイルの読み込みを完了しました。</string>
+ <string name="import_done">設定ファイルの読み込みを完了しました。</string>
<string name="nobind_summary">ローカル アドレスとポートにバインドを行いません。</string>
<string name="no_bind">ローカルバインドしない</string>
- <string name="import_configuration_file">構成ファイルのインポート</string>
+ <string name="import_configuration_file">設定ファイルのインポート</string>
<string name="faq_security_title">セキュリティに関する考慮事項</string>
<string name="faq_security">OpenVPNがセキュリティに敏感であるように、セキュリティに関してのいくつかの注意事項は理にかなっています。
SDカード上のデータは本質的に無防備です。すべてのアプリケーションが読み取り可能です。(たとえばこのプログラムはSDカードへの特別な読み取り許可を必要としていません)
@@ -155,7 +156,7 @@ SDカード上のデータは本質的に無防備です。すべてのアプリ
ただし、このアプリケーションからのみ読み取り可能ではあるものの、暗号化されてはいません。
機体をroot化したり、あるいはその他の脆弱性によってファイルは読み取ることが可能かもしれません。パスワードは平文で保存されています。PKCS12ファイルをAndroidの証明書管理機能にインポートして使用することが強く推奨されます。</string>
<string name="import_vpn">インポート</string>
- <string name="broken_image_cert_title">証明書の選択でエラーが表示されます</string>
+ <string name="broken_image_cert_title">証明書の選択画面でエラー</string>
<string name="broken_image_cert">Android 4.0以降の証明書選択ダイアログ表示で例外を検知しました。
この事象は標準的なAndroid 4.0以降では発生しません。お使いのAndroidの証明書管理機構が壊れている可能性があります。</string>
<string name="ipv4">IPv4</string>
@@ -170,22 +171,22 @@ SDカード上のデータは本質的に無防備です。すべてのアプリ
<string name="private_key_password">秘密鍵のパスワード</string>
<string name="password">パスワード</string>
<string name="file_icon">ファイルのアイコン</string>
- <string name="tls_authentication">TLS認証</string>
- <string name="generated_config">生成された構成</string>
+ <string name="tls_authentication">TLS認証/暗号化</string>
+ <string name="generated_config">生成された設定</string>
<string name="generalsettings">設定</string>
<string name="owner_fix_summary">システムに/dev/tunの所有者を設定します。いくつかのCM9のイメージでVPNService APIを動作させるために必要です。root権限が必要です。</string>
<string name="owner_fix">/dev/tun の所有権を修正</string>
- <string name="generated_config_summary">生成された OpenVPN の構成ファイルを表示します</string>
+ <string name="generated_config_summary">生成された OpenVPN の設定ファイルを表示します</string>
<string name="edit_profile_title">\"%s\"の編集</string>
- <string name="building_configration">構成中・・・</string>
+ <string name="building_configration">設定を構成中・・・</string>
<string name="netchange_summary">この設定を有効にすると、ネットワークの状態変化時(WiFi/モバイル)に再接続を行います。</string>
- <string name="netchange">ネットワーク変化時に再接続</string>
+ <string name="netchange">ネットワーク変化時に再接続する</string>
<string name="netstatus">ネットワーク状態: %s</string>
<string name="extracahint">認証局証明書(CA cert)は、通常、Android のキーストアから返されます。証明書の検証でエラーになる場合は、個別の証明書を指定します。</string>
<string name="select_file">選択</string>
<string name="keychain_nocacert">認証局証明書(CA Cert)がAndroidのキーストアから取得できませんでした。認証はおそらく失敗します。</string>
<string name="show_log_summary">接続時にログウィンドウを表示します。ログウィンドウは常に状態通知からアクセスできます。</string>
- <string name="show_log_window">ログウィンドウを表示</string>
+ <string name="show_log_window">ログウィンドウを表示する</string>
<string name="mobile_info">%10$s %9$s は次の環境で実行中です %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Androidキーストアに保存されたキー %1$s: %2$sの署名エラーです</string>
<string name="faq_system_dialogs">VPN接続の警告は、このアプリケーションがVPNService APIを悪用してすべての通信を傍受できることを、システムがあなたに知らせるものです。\n
@@ -194,37 +195,38 @@ Androidはあなた自身の安全性のために、これらを迂回できな
<string name="faq_system_dialogs_title">接続時の警告と通知音</string>
<string name="translationby">日本語翻訳 高橋正希@埼玉 &lt;tools@artin.nu&gt;</string>
<string name="ipdns">IPとDNS</string>
- <string name="basic">基本</string>
+ <string name="basic">基本設定</string>
<string name="routing">経路設定</string>
<string name="obscure">特殊なOpenVPNの設定。通常は必要ありません</string>
- <string name="advanced">高度</string>
- <string name="export_config_title">ICSのOpenVPN設定</string>
+ <string name="advanced">高度な設定</string>
+ <string name="export_config_title">OpenVPN設定</string>
<string name="warn_no_dns">DNSサーバーが使用されていません。名前解決が動作しない可能性があります。カスタムDNSの設定を検討してください。また、DNSが指定されていない場合Androidはモバイル回線/WiFi接続に設定したプロキシを使用し続けることにも注意してください。</string>
<string name="dns_add_error">DNSサーバ \"%1$s\" の追加に失敗しました。%2$sに拒否されました。</string>
<string name="ip_add_error">IPアドレス \"%1$s\"を設定できませんでした。 システムに拒否されました: %2$s</string>
<string name="faq_howto">&lt;p&gt;動作確認済の設定ファイルを入手します。(あなたのコンピュータでテスト済のものや、プロバイダや会社などの組織からダウンロードしたもの)&lt;/p&gt;
-&lt;p&gt;もしそれが単一のファイルでpemやpks12ファイルを伴わないなら、自分宛のメールに添付して送付し、それを開いてください。もし複数のファイルで構成されているならSDカードに格納してください。&lt;/p&gt;
+&lt;p&gt;もしそれが単一のファイルでPEMやPKCS12ファイルを伴わないなら、自分宛のメールに添付して送付し、それを開いてください。もし複数のファイルで構成されているならSDカードに格納してください。&lt;/p&gt;
&lt;p&gt;メールの添付ファイルを開く、あるいはVPNリストのフォルダアイコンをクリックして設定ファイルをインポートします。&lt;/p&gt;
&lt;p&gt;もしファイルが足りないというエラーが表示されたら、足りなかったファイルをSDカード上に格納してください。&lt;/p&gt;
&lt;p&gt;インポートされたVPN設定をリストに追加するには、保存アイコンをクリックします。&lt;/p&gt;
&lt;p&gt;VPNを接続するには、VPNの名称をクリックします。&lt;/p&gt;
-&lt;p&gt;もし警告やエラーがログエントリに表示されたら、それらを調べて解決してください。&lt;/p&gt;</string>
+&lt;p&gt;もし警告やエラーがログエントリに表示されたら、それらを調べて解決してください。&lt;/p&gt;
+</string>
<string name="faq_howto_title">クイックスタート</string>
<string name="setting_loadtun_summary">接続の試行前にTUNデバイスモジュール(tun.ko)を読み込みます。デバイスのroot化が必要です。</string>
<string name="setting_loadtun">TUNモジュールをロード</string>
<string name="importpkcs12fromconfig">PKCS12の設定をAndroidのキーストアにインポートします</string>
<string name="getproxy_error">プロキシ設定でエラー: %s</string>
<string name="using_proxy">プロキシを使用します %1$s %2$d</string>
- <string name="use_system_proxy">システムのプロキシ設定を使用</string>
- <string name="use_system_proxy_summary">システム全体の構成の HTTP/HTTPS プロキシ接続を使用します。</string>
- <string name="donatewithpaypal">以下のURLより寄付いただけます。 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPalで寄付&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPNはシステムの再起動やシャットダウン時に再接続するようになります。このオプションを使用する前にFAQをご一読ください。</string>
- <string name="onbootrestart">システム起動後に再接続</string>
+ <string name="use_system_proxy">システムのプロキシ設定を使用する</string>
+ <string name="use_system_proxy_summary">接続にシステム全体の構成の HTTP/HTTPS プロキシを使用します。</string>
+ <string name="onbootrestartsummary">有効にすると、OpenVPNはシステムの起動時に指定されたVPNに接続します。Android 5.0より前のバージョンでこのオプションを使用する場合は、接続時の警告に関する「よくある質問」を読んでください。</string>
+ <string name="onbootrestart">システム起動時に接続</string>
<string name="ignore">無視</string>
<string name="restart">再起動</string>
<string name="restart_vpn_after_change">設定の変更はVPNの再起動後に反映されます。VPNを(再)起動しますか?</string>
<string name="configuration_changed">設定が変更されました</string>
- <string name="log_no_last_vpn">編集されたため、最後に接続したプロファイルを確認できませんでした</string>
+ <string name="log_no_last_vpn">編集されたため、最後に接続したプロファイルを確認できませんでした
+</string>
<string name="faq_duplicate_notification_title">重複した通知</string>
<string name="faq_duplicate_notification">もしAndroidがメモリ不足に陥った場合、その時点で必要とされないアプリケーションやサービスはアクティブなメモリから排除されます。
この処理に伴い、VPN接続は終了されます。
@@ -235,7 +237,7 @@ OpenVPNの接続を保証するためには、アプリケーションを高い
<string name="no_vpn_profiles_defined">VPNのプロファイルが定義されていません</string>
<string name="add_new_vpn_hint">新しいVPNを追加するには &lt;img src=\"ic_menu_add\"/&gt; のアイコンを使用します</string>
<string name="vpn_import_hint">SDカードからプロファイル(.ovpnや.conf)をインポートするには &lt;img src=\"ic_menu_archive\"/&gt; のアイコンを使用します。</string>
- <string name="faq_hint">FAQを確認してください。クイックスタートガイドがあります。</string>
+ <string name="faq_hint">「よくある質問」を確認してください。クイックスタートガイドがあります。</string>
<string name="faq_routing_title">経路情報/インターフェース設定</string>
<string name="faq_routing">経路とインターフェースの設定は従来のifconfig/routeコマンドではなくVPNService APIを使用して行われます。
その結果、経路の設定はほかのOSとは異なります。\n
@@ -253,16 +255,16 @@ VPNService APIはVPNを経由すべきでないネットワークの指定を許
こっそり:
Android 4.4以上はポリシールーティングを使用します。route/ifconfigコマンドは設定された経路を表示しません。代わりにip ruleまたはiptables -t mangle -Lを使用します。</string>
- <string name="persisttun_summary">OpenVPNが再接続試行中は、VPNなし状態を報告しません。</string>
+ <string name="persisttun_summary">OpenVPNが再接続試行中は、VPN接続なしとして報告しません。</string>
<string name="persistent_tun_title">永続的なTUNデバイス</string>
- <string name="openvpn_log">OpenVPN のログ</string>
- <string name="import_config">OpenVPN の構成のインポート</string>
+ <string name="openvpn_log">OpenVPNログ</string>
+ <string name="import_config">OpenVPN の設定のインポート</string>
<string name="battery_consumption_title">バッテリー消費量</string>
<string name="baterry_consumption">個人的な検証では、OpenVPNがバッテリを多く消費する主な原因はkeepaliveパケットです。
大部分のOpenVPNサーバは\'keepalive 10 60\'のような設定を持っており、これは10秒ごとにサーバとクライアントで相互にkeepaliveパケットを送信しあうことを意味します。 &lt;p&gt;これらのパケットは小さく多くの帯域は使用しませんが、モバイル回線機能を常に稼動させ続け電力消費を増大させます。 &lt;p&gt;
(参考 &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;)&lt;p&gt;このkeepalive設定はクライアント側からは変更できません。OpenVPNのシステム管理者のみが変更可能です。 &lt;p&gt; 残念なことに、60秒より大きな間隔のUDP keepaliveはいくつかのNATゲートウェイにおいては接続状態が維持できず、それより短い時間でタイムアウトします(検証では60秒)。 TCP keepaliveと長いタイムアウト時間の使用は、動作はしますがTCP over TCP問題を引き起こします。(詳細は&lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;なぜTCP over TCPは悪いアイディアなのか&lt;/a&gt;を参照)</string>
<string name="faq_tethering">Androidのテザリング機能(WiFi, USB, Bluetooth経由)とVPNService API(このプログラムから使用する機能)は同時に利用できません。詳細については&lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=34\"&gt;issue #34&lt;/a&gt;を参照</string>
- <string name="vpn_tethering_title">VPN とテザリング</string>
+ <string name="vpn_tethering_title">VPNとテザリング</string>
<string name="connection_retries">接続の再試行回数</string>
<string name="reconnection_settings">再接続の設定</string>
<string name="connectretrymessage">再接続を試行する際の間隔(秒)</string>
@@ -273,22 +275,22 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="notifcation_title">OpenVPN - %s</string>
<string name="session_ipv4string">%1$s - %2$s</string>
<string name="session_ipv6string">%1$s - %3$s, %2$s</string>
- <string name="state_connecting">接続中</string>
- <string name="state_wait">サーバーの応答を待っています。</string>
+ <string name="state_connecting">接続しています</string>
+ <string name="state_wait">サーバーの応答を待っています</string>
<string name="state_auth">認証中</string>
- <string name="state_get_config">クライアントの構成を取得中</string>
+ <string name="state_get_config">クライアントの設定を取得中</string>
<string name="state_assign_ip">IPアドレスを割り当て中</string>
<string name="state_add_routes">経路を追加中</string>
<string name="state_connected">接続しました</string>
<string name="state_disconnected">切断</string>
- <string name="state_reconnecting">再接続中</string>
+ <string name="state_reconnecting">再接続しています</string>
<string name="state_exiting">終了中</string>
<string name="state_noprocess">停止中</string>
<string name="state_resolve">ホスト名を解決中</string>
<string name="state_tcp_connect">接続中(TCP)</string>
<string name="state_auth_failed">認証に失敗しました</string>
<string name="state_nonetwork">使用可能なネットワークを待機中</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">未接続</string>
<string name="start_vpn_title">VPN %sに接続中</string>
<string name="start_vpn_ticker">VPN %sに接続中</string>
@@ -296,19 +298,19 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="encryption_cipher">暗号化方式</string>
<string name="packet_auth">パケット認証</string>
<string name="auth_dialog_title">パケット認証方式を入力してください。</string>
- <string name="built_by">%s によりビルド</string>
+ <string name="built_by">%s によりビルドされました</string>
<string name="debug_build">デバッグ ビルド</string>
<string name="official_build">正式ビルド</string>
<string name="make_selection_inline">プロファイルにコピー</string>
<string name="crashdump">クラッシュ ダンプ</string>
<string name="add">追加</string>
- <string name="send_config">構成ファイルを送信</string>
+ <string name="send_config">設定ファイルを送信</string>
<string name="complete_dn">完全な識別名(DN)</string>
<string name="remotetlsnote">あなたがインポートした設定は異なるDNフォーマットを使用した非推奨のtls-remoteオプションを使用しています。</string>
<string name="rdn">相対識別名(RDN/共通名)</string>
<string name="rdn_prefix">相対識別名(RDN)プリフィクス</string>
<string name="tls_remote_deprecated"> tls-remote (非推奨)</string>
- <string name="help_translate">翻訳作業を手伝っていただける方は次のURLへ http://crowdin.net/project/ics-openvpn/invite</string>
+ <string name="help_translate">次のURLにアクセスすると、翻訳作業を手伝うことができます http://crowdin.net/project/ics-openvpn/invite</string>
<string name="prompt">%1$s は %2$s を制御しようとしています。</string>
<string name="remote_warning">このまま進むと、あなたはOpenVPN for Androidの完全な制御とすべての通信を傍受する権限をアプリケーションに対し与えることになります。<b>アプリケーションが信頼できない限り、承諾しないでください。</b>さもないと、あなたのデータがマルウェアにより漏洩させられる危険があります。</string>
<string name="remote_trust">私はこのアプリケーションを信頼します</string>
@@ -316,12 +318,12 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="allowed_apps">許可アプリ: %s</string>
<string name="clearappsdialog">許可アプリの一覧をクリアしますか?\n現在の許可アプリ一覧:\n\n%s</string>
<string name="screenoff_summary">スクリーンがオフかつ60秒で64kB以下のデータ転送量の場合、VPN通信を中断します。「永続的なTUN」設定が有効な場合、VPN接続が中断されると通信ができなくなります。「永続的なTUN」を無効にすると、VPNによる接続保護は行われなくなります。</string>
- <string name="screenoff_title">画面オフ後にVPN接続を中断</string>
+ <string name="screenoff_title">画面オフ後にVPN接続を中断する</string>
<string name="screenoff_pause">画面オフにより接続を中断しています: %2$s秒で%1$s 以下 </string>
<string name="screen_nopersistenttun">警告: このVPN接続には永続的なTUNデバイスが設定されていません。スクリーンオフ後の通信は通常のインターネット接続を使用します。</string>
<string name="save_password">パスワードを保存</string>
<string name="pauseVPN">VPNを中断</string>
- <string name="resumevpn">VPN再開</string>
+ <string name="resumevpn">VPNを再開</string>
<string name="state_userpause">ユーザによってVPNの中断が要求されました</string>
<string name="state_screenoff">VPN中断中 - 画面オフ</string>
<string name="device_specific">デバイス固有のハック</string>
@@ -352,7 +354,7 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="full_licenses">完全なライセンス告知</string>
<string name="blocklocal_summary">ローカルインターフェイスに直接接続されているネットワークはVPNを経由しません。
このオプションを外すとローカルネットワーク宛のすべての通信をVPNにリダイレクトします。</string>
- <string name="blocklocal_title">ローカルはVPNを経由しない</string>
+ <string name="blocklocal_title">ローカルネットワークはVPNを経由しない</string>
<string name="userpw_file">ユーザー名/パスワードファイル</string>
<string name="imported_from_file">[インポート元: %s]</string>
<string name="files_missing_hint">いくつかのファイルが見つかりませんでした。プロファイルをインポートするファイルを選択してください:</string>
@@ -360,6 +362,7 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="import_log">インポートログ:</string>
<string name="ip_looks_like_subnet">VPNトポロジ \"%3$s\" が設定されていますが ifconfig %1$s %2$s はIPアドレスとネットマスクのように見えます。\"サブネット\"トポロジを仮定します。</string>
<string name="mssfix_invalid_value">MSSに指定できる値は0~9000の整数です</string>
+ <string name="mtu_invalid_value">MTUに指定できる値は64~9000の整数です</string>
<string name="mssfix_value_dialog">OpenVPNがカプセル化したあとのパケットサイズで制限するようトンネル越しのTCPセッションに通知します。結果、OpenVPNが相手に送信するUDPパケットサイズはこのバイト数を超えなくなります。(デフォルトは1450)</string>
<string name="mssfix_checkbox">TCPペイロードのMSSを指定する</string>
<string name="mssfix_dialogtitle">TCPペイロードのMSSを設定</string>
@@ -399,8 +402,8 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="ab_secondary_users">VPNはほかのユーザーに対しては動作しません。</string>
<string name="ab_kitkat_reconnect">"複数のユーザが、VPNアプリ使用中にモバイル接続が頻繁に欠落すると報告しています。この挙動は特定のプロバイダ/デバイスの組み合わせでのみ発生すると思われ、これまでのところこのバグに対する原因や回避策は特定されていません。"</string>
<string name="ab_vpn_reachability_44">VPNなしでも到達可能なネットワークにのみVPN経由で到達できる場合。IPv6 VPN は動作しません。</string>
- <string name="ab_only_cidr_title">非CIDRルート</string>
- <string name="ab_proxy_title">VPNのプロキシ動作</string>
+ <string name="ab_only_cidr_title">CIDR形式ではない経路</string>
+ <string name="ab_proxy_title">VPNとプロキシの挙動</string>
<string name="ab_lollipop_reinstall_title">VPNアプリを再インストールする場合</string>
<string name="version_upto">%sおよびそれ以前</string>
<string name="copy_of_profile">%sのコピー</string>
@@ -409,7 +412,7 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="ab_secondary_users_title">タブレットの複数ユーザー</string>
<string name="custom_connection_options_warng">カスタム指定の接続オプションを設定します。慎重に利用してください</string>
<string name="custom_connection_options">カスタムオプション</string>
- <string name="remove_connection_entry">接続エントリを削除します</string>
+ <string name="remove_connection_entry">接続先設定を削除します</string>
<string name="ab_kitkat_reconnect_title">モバイルネットワークが突発的に切断される</string>
<string name="ab_vpn_reachability_44_title">リモートネットワークに到達できません</string>
<string name="ab_persist_tun_title">持続的なTUNモード</string>
@@ -429,13 +432,53 @@ Android 4.4以上はポリシールーティングを使用します。route/ifc
<string name="protocol">プロトコル</string>
<string name="enabled_connection_entry">有効</string>
<string name="abi_mismatch">Preferred native ABI precedence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
- <string name="months_left">残り %dヵ月</string>
- <string name="days_left">残り %d日</string>
- <string name="hours_left">残り %d時間</string>
<string name="permission_revoked">OSによりVPNの権限が取り消されました (ほかのVPNプログラムが動作した場合など)。VPNを停止します</string>
<string name="pushpeerinfo">ピア情報を送信する</string>
- <string name="pushpeerinfosummary">追加の情報をサーバに送信する (SSLやAndroidのバージョン等)</string>
- <string name="pw_request_dialog_title">%1$s </string>
+ <string name="pushpeerinfosummary">追加の情報をサーバに送信します。 (SSLやAndroidのバージョン等)</string>
+ <string name="pw_request_dialog_title">%1$s のパスワード</string>
<string name="pw_request_dialog_prompt">プロファイル %1$s のパスワードを入力してください</string>
<string name="menu_use_inline_data">インラインデータを使用する</string>
+ <string name="export_config_chooser_title">設定ファイルのエクスポート</string>
+ <string name="missing_tlsauth">tls-authファイルが不足しています</string>
+ <string name="missing_certificates">ユーザ証明書またはユーザ証明書キーのファイルが不足しています</string>
+ <string name="missing_ca_certificate">CA証明書が不足しています</string>
+ <string name="crl_title">証明書の失効リスト(オプション)</string>
+ <string name="reread_log">ログキャッシュからログ(%d個)を再読み込みしました</string>
+ <string name="samsung_broken">サムスン製の携帯電話は最も販売されているAndroid機ですが、サムスン製のファームウェアは最もバグを引き起こすAndroidファームウェアです。これらのデバイスのバグはVPN操作に限ったことではありませんが、それらの多くは回避可能です。以下にいくつかのバグを記載します。\n\nDNSサーバがVPNの範囲内にないとDNSが動作しません。\n\nサムスン製Android 5.0の多くの機種では、アプリの許可/不許可機能が動作しません。\nサムスン製Android 6.0機種のVPNは、VPNアプリを省電力機能から除外しない限り動作しないことが報告されています。</string>
+ <string name="samsung_broken_title">サムスン製の機種</string>
+ <string name="novpn_selected">VPNが選択されていません</string>
+ <string name="defaultvpn">既定のVPN</string>
+ <string name="defaultvpnsummary">既定のVPNが必要な場面で使用されます。現在のところ、起動時、常時接続、クイック設定タイルで使用されます。</string>
+ <string name="vpnselected">現在選択されているVPN: \'%s\'</string>
+ <string name="reconnect">再接続</string>
+ <string name="qs_title">VPNを切り替える</string>
+ <string name="qs_connect">%sに接続</string>
+ <string name="qs_disconnect">%sを切断</string>
+ <string name="connectretrymaxmessage">最大接続試行間隔を入力します。OpenVPNは接続に失敗するとこの値まで少しずつ待機時間を増やしていきます。デフォルトは300秒です。</string>
+ <string name="connectretrymaxtitle">接続試行の最大間隔</string>
+ <string name="state_waitconnectretry">接続試行の間隔として%s秒を待っています</string>
+ <string name="nought_alwayson_warning"><![CDATA[VPNの確認ダイアログが表示されない場合、ほかのアプリのために「常時VPN接続」が有効になっているかもしれません。この場合、そのアプリだけがVPNに接続できます。「設定」-「ネットワーク」-「もっと見る」-「VPN」を確認してください。]]></string>
+ <string name="management_socket_closed">OpenVPNへの接続が閉じられました (%s)</string>
+ <string name="change_sorting">並べ替えの変更</string>
+ <string name="sort">並べ替え</string>
+ <string name="sorted_lru">プロファイルを最近使った順に並べ替えました</string>
+ <string name="sorted_az">プロファイルを名前順に並べ替えました</string>
+ <string name="deprecated_tls_remote">設定はtls-remoteを使用しています(2.3で非推奨、2.4で削除されました)</string>
+ <string name="auth_failed_behaviour">認証失敗時の挙動</string>
+ <string name="graph">グラフ</string>
+ <string name="use_logarithmic_scale">対数スケールを使用する</string>
+ <string name="notenoughdata">データが不十分です</string>
+ <string name="avghour">毎時間平均</string>
+ <string name="avgmin">毎分平均</string>
+ <string name="last5minutes">過去5分間</string>
+ <string name="data_in">In</string>
+ <string name="data_out">Out</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-ko/arrays.xml b/main/src/main/res/values-ko/arrays.xml
index 88c4a100..d232e6b9 100755
--- a/main/src/main/res/values-ko/arrays.xml
+++ b/main/src/main/res/values-ko/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>인증서</item>
<item>PKCS12 파일</item>
@@ -12,8 +17,9 @@
<item>계정/암호 + 안드로이드</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>미지정</item>
+ <item>Encryption (--tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-ko/plurals.xml b/main/src/main/res/values-ko/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-ko/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-ko/strings.xml b/main/src/main/res/values-ko/strings.xml
index 4e9ca77f..043e9e1f 100755
--- a/main/src/main/res/values-ko/strings.xml
+++ b/main/src/main/res/values-ko/strings.xml
@@ -50,7 +50,6 @@
<string name="custom_route_format_error">사용자 지정 경로 구문 분석 오류</string>
<string name="pw_query_hint">(비워두면 요청시 쿼리됨)</string>
<string name="vpn_shortcut">OpenVPN 바로 가기</string>
- <string name="vpn_launch_title">VPN에 연결 하기</string>
<string name="shortcut_profile_notfound">바로가기에 지정 된 프로파일을 찾을 수 없습니다.</string>
<string name="random_host_prefix">임의의 호스트 접두사</string>
<string name="random_host_summary">6개 임의의 문자를 호스트 이름 앞에 추가</string>
@@ -105,6 +104,7 @@
<string name="dns_server_info">DNS 서버: %1$s, 도메인: %2$s</string>
<string name="routes_info_incl">경로: %1$s %2$s</string>
<string name="routes_info_excl">제외된 경로: %1$s %2$s</string>
+ <string name="routes_debug">VpnService 노선 설치: %1$s %2$s</string>
<string name="ip_not_cidr">인터페이스 정보 %1$s와 %2$s에 있어, 두 번째 주소를 원격 피어 주소로 가정 하겠습니다. 로컬 IP의 넷마스크로는 /32를 사용하겠습니다. OpenVPN에 의해 주어진 모드는 \"%3$s\" 입니다.</string>
<string name="route_not_cidr">CIDR 넷마스크가 있는 IP 라우트 %1$s 와 %2$s 에 있어서 처리가 불가능합니다. /32를 넷마스크로 사용하겠습니다.</string>
<string name="route_not_netip">%1$s/%2$s 에서 %3$s/%2$s로 라우트 수정</string>
@@ -163,7 +163,6 @@
<string name="private_key_password">개인 키 암호</string>
<string name="password">암호</string>
<string name="file_icon">파일 아이콘</string>
- <string name="tls_authentication">TLS 인증</string>
<string name="generated_config">생성 된 설정</string>
<string name="generalsettings">설정</string>
<string name="owner_fix_summary">/dev/tun의 소유권을 시스템으로 설정 하려고 합니다. 일부 CM9 이미지에서 VPNService API를 사용하기 위해서는 앞의 작업이 요구됩니다. root권한을 가져야합니다.</string>
@@ -201,9 +200,8 @@
<string name="using_proxy">프록시 %1$s %2$d 을 사용</string>
<string name="use_system_proxy">시스템 프록시를 사용</string>
<string name="use_system_proxy_summary">연결시 전 시스템 설정에 있는 HTTP/HTTPS 프록시를 사용합니다.</string>
- <string name="donatewithpaypal">당신은 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPal을 통해 기부할 수 있습니다.&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN은 시스템 재부팅/종료에 활성화 되었으면 VPN을 다시 연결합니다. 이 옵션을 사용 하기 전에 연결 경고 FAQ를 읽어 보시기 바랍니다.</string>
- <string name="onbootrestart">재시작 후 다시 연결</string>
+ <string name="onbootrestartsummary">이 시스템 부팅에 활성화 된 경우 OpenVPN을 지정된 VPN을 연결합니다. 안드로이드 &lt; 5.0에이 옵션을 사용하기 전에 연결 경고 FAQ를 읽어 보시기 바랍니다.</string>
+ <string name="onbootrestart">부팅에 연결</string>
<string name="ignore">무시</string>
<string name="restart">다시 시작</string>
<string name="restart_vpn_after_change">VPN을 다시 시작한 후 설정 변경 내용이 적용 됩니다. VPN을 지금 (재)시작?</string>
@@ -249,7 +247,6 @@
<string name="state_tcp_connect">연결중 (TCP)</string>
<string name="state_auth_failed">인증 실패</string>
<string name="state_nonetwork">사용 가능한 네트워크 대기중</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">연결 되지 않음</string>
<string name="start_vpn_title">VPN %s 연결중</string>
<string name="start_vpn_ticker">VPN %s 연결중</string>
diff --git a/main/src/main/res/values-nl/arrays.xml b/main/src/main/res/values-nl/arrays.xml
index 14f5faa6..73a299d5 100755
--- a/main/src/main/res/values-nl/arrays.xml
+++ b/main/src/main/res/values-nl/arrays.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificaten</item>
<item>PKCS12 Bestand</item>
- <item>Certifikata Android</item>
+ <item>Android Certificaat</item>
<item>Gebruikersnaam/Wachtwoord</item>
<item>Statische Sleutels</item>
<item>Gebruiker/WW + Certificaten</item>
@@ -12,8 +17,9 @@
<item>Gebruiker/WW + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Niet-gespecificeerd</item>
+ <item>Versleuteling (tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-nl/plurals.xml b/main/src/main/res/values-nl/plurals.xml
new file mode 100755
index 00000000..5dd855b4
--- /dev/null
+++ b/main/src/main/res/values-nl/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Nog één maand</item>
+ <item quantity="other">Nog %d maanden</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Nog één dag</item>
+ <item quantity="other">Nog %d dagen</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Nog één uur</item>
+ <item quantity="other">Nog %d uren</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Nog één minuut</item>
+ <item quantity="other">Nog %d minuten</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-nl/strings.xml b/main/src/main/res/values-nl/strings.xml
index b29f6ab4..9518e3d2 100755
--- a/main/src/main/res/values-nl/strings.xml
+++ b/main/src/main/res/values-nl/strings.xml
@@ -44,19 +44,20 @@
<string name="duplicate_profile_name">Profielnaam is al in gebruik</string>
<string name="profilename">Profiel name</string>
<string name="no_keystore_cert_selected">Geen gebruikerscertificaat geselecteerd</string>
+ <string name="no_ca_cert_selected">Je moet een CA certificaat selecteren</string>
<string name="no_error_found">Geen fout.</string>
<string name="config_error_found">Fout in de configuratie</string>
<string name="ipv4_format_error">Fout bij inlezen van IPv4-adres</string>
<string name="custom_route_format_error">Fout bij inlezen van aangepaste routes</string>
<string name="pw_query_hint">(vrij laten voor query op aanvraag)</string>
- <string name="vpn_shortcut">Open VPN shortcut</string>
- <string name="vpn_launch_title">Met VPN verbinden</string>
+ <string name="vpn_shortcut">OpenVPN snelkoppeling</string>
+ <string name="vpn_launch_title">Verbinding maken met VPN&#8230;</string>
<string name="shortcut_profile_notfound">Het profiel zoals aangegeven in de snelkoppeling kon niet gevonden worden.</string>
<string name="random_host_prefix">Willekeurig Host Voorvoegsel</string>
<string name="random_host_summary">Voegt 6 willekeurige tekens toe voor de hostname</string>
<string name="custom_config_title">Eigen configuratie opties</string>
<string name="custom_config_summary">Geef je eigen configuratieopties aan. Wees voorzichtig!</string>
- <string name="route_rejected">Route geweigert door Android</string>
+ <string name="route_rejected">Route geweigerd door Android</string>
<string name="cancel_connection">Verbinding verbreken</string>
<string name="cancel_connection_long">VPN verbinding verbreken</string>
<string name="clear_log">logboek wissen</string>
@@ -106,14 +107,19 @@
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">Logboek verzenden</string>
<string name="send">Verzenden</string>
+ <string name="ics_openvpn_log_file">ICS OpenVPN logbestand</string>
<string name="copied_entry">Kopiëer de log ingave naar het clip bord</string>
<string name="tap_mode">Tap mode</string>
<string name="faq_tap_mode">De VPN API van Android werkt zonder rooten van de telefoon en ondersteunt alleen de tun modus. Daarom is de tap modus niet mogelijk met deze app.</string>
<string name="tap_faq2">Alweer? Maak je een grapje? Nee, tap mode wordt echt niet ondersteund en meer mails sturen met het verzoek of het ondersteund kan worden zal echt niet helpen, dus Neen.</string>
<string name="faq">Veelgestelde vragen </string>
+ <string name="copying_log_entries">Loggegevens aan het kopiëren</string>
+ <string name="faq_shortcut">Snelkoppeling naar start</string>
<string name="encryption">Codering</string>
<string name="cipher_dialog_title">Codering methode</string>
+ <string name="menu_import">Importeer profiel van ovpn bestand</string>
<string name="menu_import_short">Import</string>
+ <string name="error_reading_config_file">Fout bij het lezen van het configuratiebestand</string>
<string name="add_profile">Profiel toevoegen</string>
<string name="import_could_not_open">Kon het bestand %1$s, zoals aangegeven in de geïmporteerde configuratie niet vinden</string>
<string name="importing_config">Geïmporteerde configuratie bestand uit %1$s</string>
@@ -133,10 +139,109 @@
<string name="private_key_password">Privé Sleutel Wachtwoord</string>
<string name="password">Wachtwoord</string>
<string name="file_icon">bestands pictogram</string>
- <string name="tls_authentication">TLS Verificatie</string>
<string name="generated_config">Gegenereerde Configuratie</string>
<string name="generalsettings">Instellingen</string>
+ <string name="owner_fix">Verbeter eigendom van /dev/tun</string>
+ <string name="generated_config_summary">Toont het gegenereerde OpenVPN configuratiebestand</string>
<string name="edit_profile_title">Bewerken van \"%s\"</string>
<string name="building_configration">Opbouwen configuratie&#8230;</string>
+ <string name="netchange_summary">Het inschakelen van deze optie zal opnieuw verbinden na het veranderen van de netwerk status (bijv. van WiFi naar mobiel) forceren</string>
+ <string name="netchange">Opnieuw verbinden na netwerkverandering</string>
+ <string name="netstatus">Netwerk status: %s</string>
+ <string name="select_file">Selecteer</string>
+ <string name="show_log_window">Toon logboekvenster</string>
+ <string name="error_rsa_sign">Fout bij het ondertekenen met Android keystore sleutel %1$s: %2$s</string>
+ <string name="faq_system_dialogs_title">Verbindingswaarschuwing en meldingsgeluid</string>
<string name="ipdns">IP en DNS</string>
+ <string name="advanced">Geanvanceerd</string>
+ <string name="export_config_title">ICS Openvpn configuratie</string>
+ <string name="faq_howto_title">Snelle start</string>
+ <string name="setting_loadtun">Laad tun module</string>
+ <string name="getproxy_error">Fout bij het opvragen van proxy-instellingen: %s</string>
+ <string name="use_system_proxy">Gebruik systeemproxy</string>
+ <string name="use_system_proxy_summary">Gebruik de systeemconfiguratie voor HTTP/HTTPS proxys om te verbinden.</string>
+ <string name="onbootrestart">Verbinden bij het opstarten</string>
+ <string name="ignore">Negeren</string>
+ <string name="restart">Opnieuw starten</string>
+ <string name="configuration_changed">Configuratie gewijzigd</string>
+ <string name="no_vpn_profiles_defined">Geen VPN-profielen gedefinieerd.</string>
+ <string name="persisttun_summary">Niet terugvallen op geen VPN-verbinding wanneer OpenVPN opnieuw aan het verbinden is.</string>
+ <string name="persistent_tun_title">Persistent tun</string>
+ <string name="openvpn_log">OpenVPN log</string>
+ <string name="import_config">Importeer OpenVPN configuratie</string>
+ <string name="battery_consumption_title">Batterijverbruik</string>
+ <string name="faq_tethering">De Android Tethering feature (via WiFi, USB of Bluetooth) en de VPNService API (die gebruikt wordt door dit programma) werken niet samen. Voor meer details, zie &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/34\"&gt;issue #34&lt;/a&gt;</string>
+ <string name="vpn_tethering_title">VPN en Tethering</string>
+ <string name="connection_retries">Verbinding pogingen</string>
+ <string name="reconnection_settings">Instellingen voor opnieuw verbinden</string>
+ <string name="connectretrywait">Seconden tussen verbindingen</string>
+ <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="state_connecting">Aan het verbinden</string>
+ <string name="state_wait">Wachten op antwoord van de server</string>
+ <string name="state_get_config">Clientconfiguratie ophalen</string>
+ <string name="state_assign_ip">IP-addressen toewijzen</string>
+ <string name="state_connected">Verbonden</string>
+ <string name="state_disconnected">Verbinding verbreken</string>
+ <string name="state_reconnecting">Opnieuw aan het verbinden</string>
+ <string name="state_exiting">Afsluiten</string>
+ <string name="state_noprocess">Niet actief</string>
+ <string name="state_tcp_connect">Aan het verbinden (TCP)</string>
+ <string name="notifcation_title_notconnect">Niet verbonden</string>
+ <string name="start_vpn_title">Verbinding maken met VPN %s</string>
+ <string name="start_vpn_ticker">Verbinding maken met VPN %s</string>
+ <string name="built_by">gebouwd door %s</string>
+ <string name="debug_build">debug build</string>
+ <string name="official_build">officiële build</string>
+ <string name="make_selection_inline">Kopieer naar profiel</string>
+ <string name="crashdump">Crashdump</string>
+ <string name="add">Toevoegen</string>
+ <string name="send_config">Verstuur configureerbestand</string>
+ <string name="complete_dn">Volledige DN</string>
+ <string name="rdn_prefix">RDN voorvoegsel</string>
+ <string name="allowed_apps">Toegestane apps: %s</string>
+ <string name="save_password">Wachtwoord opslaan</string>
+ <string name="pauseVPN">Pauzeer VPN</string>
+ <string name="resumevpn">Hervat VPN</string>
+ <string name="state_screenoff">VPN gepauzeerd - scherm uit</string>
+ <string name="vpnbehaviour">VPN gedrag</string>
+ <string name="thanks_for_donation">Bedankt voor het doneren van %s!</string>
+ <string name="logCleared">Log gewist.</string>
+ <string name="show_password">Toon wachtwoord</string>
+ <string name="timestamp_short">Kort</string>
+ <string name="timestamp_iso">ISO</string>
+ <string name="timestamps_none">Geen</string>
+ <string name="uploaded_data">Upload</string>
+ <string name="downloaded_data">Download</string>
+ <string name="vpn_status">VPN Status</string>
+ <string name="logview_options">Toon opties</string>
+ <string name="full_licenses">Volledige licenties</string>
+ <string name="userpw_file">Gebruikersnaam/Wachtwoord bestand</string>
+ <string name="imported_from_file">[Geïmporteerd uit: %s]</string>
+ <string name="import_log">Importeer log:</string>
+ <string name="loading">Aan het laden&#8230;</string>
+ <string name="allowed_vpn_apps_info">Toegestane VPN apps: %1$s</string>
+ <string name="disallowed_vpn_apps_info">Niet toegestane VPN apps: %1$s</string>
+ <string name="keep">Houden</string>
+ <string name="delete">Verwijderen</string>
+ <string name="server_list">Serverlijst</string>
+ <string name="vpn_allowed_apps">Toegestane apps</string>
+ <string name="advanced_settings">Geavanceerde instellingen</string>
+ <string name="tls_settings">TLS-instellingen</string>
+ <string name="show_log">Toon logboek</string>
+ <string name="version_upto">%s en eerder</string>
+ <string name="copy_of_profile">Kopie van %s</string>
+ <string name="ab_secondary_users_title">Secundaire tabletgebruikers</string>
+ <string name="version_and_later">%s en hoger</string>
+ <string name="Search">Zoeken</string>
+ <string name="protocol">Protocol</string>
+ <string name="enabled_connection_entry">Ingeschakeld</string>
+ <string name="samsung_broken_title">Samsung telefoons</string>
+ <string name="novpn_selected">Geen VPN geselecteerd.</string>
+ <string name="reconnect">Opnieuw verbinden</string>
+ <string name="qs_connect">Verbinden met %s</string>
+ <string name="qs_disconnect">Verbinding met %s verbreken</string>
+ <string name="change_sorting">Verander sortering</string>
+ <string name="sort">Sorteer</string>
+ <string name="sorted_lru">Profielen gesorteerd op laatst recent gebruikte</string>
+ <string name="sorted_az">Profielen gesorteerd op naam</string>
</resources>
diff --git a/main/src/main/res/values-no/arrays.xml b/main/src/main/res/values-no/arrays.xml
index 8104ecbf..780da5d2 100755
--- a/main/src/main/res/values-no/arrays.xml
+++ b/main/src/main/res/values-no/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Sertifikater</item>
<item>PKCS12 fil</item>
@@ -12,8 +17,14 @@
<item>Brukernavn/Passord + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Uspesifisert</item>
+ <item>Kryptering (-tls-krypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Koble fra, glem passordet</item>
+ <item>Koble fra, behold passord</item>
+ <item>Ignorer, prøv igjen</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-no/plurals.xml b/main/src/main/res/values-no/plurals.xml
new file mode 100755
index 00000000..f4716401
--- /dev/null
+++ b/main/src/main/res/values-no/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">En måned igjen</item>
+ <item quantity="other">%d måneder igjen</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">En dag igjen</item>
+ <item quantity="other">%d dager igjen</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">En time igjen</item>
+ <item quantity="other">%d timer igjen</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Ett minutt igjen</item>
+ <item quantity="other">%d minutter igjen</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-no/strings.xml b/main/src/main/res/values-no/strings.xml
index 41e26e3c..4155337b 100755
--- a/main/src/main/res/values-no/strings.xml
+++ b/main/src/main/res/values-no/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Skriv inn et unikt profilnavn</string>
<string name="profilename">Profilnavn</string>
<string name="no_keystore_cert_selected">Du må velge et brukersertifikat</string>
+ <string name="no_ca_cert_selected">Du må velge et CA-sertifikat</string>
<string name="no_error_found">Ingen feil funnet</string>
<string name="config_error_found">Feil i konfigurasjonen</string>
<string name="ipv4_format_error">Feil ved analyse av IPv4-adressen</string>
<string name="custom_route_format_error">Feil ved analyse av egendefinerte ruter</string>
<string name="pw_query_hint">(La stå tomt for å søke på forespørsel)</string>
<string name="vpn_shortcut">OpenVPN snarvei</string>
- <string name="vpn_launch_title">Koble til VPN</string>
+ <string name="vpn_launch_title">Kobler til VPN&#8230;</string>
<string name="shortcut_profile_notfound">Profilen som er angitt i snarveien ble ikke funnet</string>
<string name="random_host_prefix">Tilfeldig vert prefiks</string>
<string name="random_host_summary">Legger til 6 tilfeldige tegn foran vertsnavn</string>
@@ -67,28 +68,55 @@
<string name="check_remote_tlscert_title">Forvent TLS-serversertifikat</string>
<string name="remote_tlscn_check_summary">Kontrollerer eksternt tjenersertifikatemne DN</string>
<string name="remote_tlscn_check_title">Sjekk av vertsnavn i sertifikat</string>
+ <string name="tls_key_auth">Aktiver autentisering med TLS-nøkkel</string>
<string name="tls_auth_file">TLS-Auth-fil</string>
+ <string name="pull_on_summary">Etterspør IP-adresser, ruter og alternativer for timing fra serveren.</string>
+ <string name="pull_off_summary">Serveren etterspør ingen informasjon. Innstillinger må angis nedenfor.</string>
+ <string name="use_pull">Trekk innstillinger</string>
<string name="dns">DNS</string>
+ <string name="override_dns">Overstyr DNS-innstillinger etter Server</string>
<string name="dns_override_summary">Bruk din egen DNS-server</string>
<string name="dns1_summary">DNS-Server som skal brukes.</string>
<string name="dns_server">DNS-server</string>
+ <string name="secondary_dns_message">Sekundær DNS-server brukes hvis den vanlige DNS-serveren ikke kan nås.</string>
+ <string name="backup_dns">Backup-DNS-server</string>
+ <string name="default_route_summary">Omdirigerer all trafikk over VPN</string>
<string name="use_default_title">Bruk standard rute</string>
<string name="custom_routes_title">Egendefinert rute</string>
+ <string name="custom_routes_title_excluded">Ekskluder nettverk</string>
<string name="log_verbosity_level">Detaljnivå for Logging</string>
+ <string name="float_summary">Tillater autentiserte pakker fra enhver IP</string>
+ <string name="float_title">Tillat flytende server</string>
<string name="custom_options_title">Egendefinerte valg</string>
<string name="edit_vpn">Rediger VPN-innstillinger</string>
+ <string name="remove_vpn_query">Fjerne VPN-profilen \'%s\'?</string>
+ <string name="tun_open_error">Kunne ikke åpne tun-grensesnittet</string>
<string name="error">"Feil:"</string>
<string name="clear">Fjern</string>
+ <string name="last_openvpn_tun_config">Åpner tun-grensesnittet:</string>
+ <string name="local_ip_info">Lokal IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
+ <string name="dns_server_info">DNS-server: %1$s, domene: %2$s</string>
+ <string name="routes_info_incl">Ruter: %1$s %2$s</string>
+ <string name="routes_info_excl">Ekskluderte ruter: %1$s %2$s</string>
+ <string name="routes_debug">VpnService-ruter som er installert: %1$s %2$s</string>
<string name="version_info">%1$s %2$s</string>
<string name="send_logfile">Send loggfilen</string>
<string name="send">Send</string>
<string name="ics_openvpn_log_file">ICS OpenVPN loggfil</string>
+ <string name="copied_entry">Kopierte oppføring i loggen til utklippstavlen</string>
<string name="tap_mode">Tap modus</string>
+ <string name="faq_tap_mode">Tap-modus er ikke mulig med ikke-root APN API. Denne appen kan derfor ikke bidra med tap-støtte</string>
+ <string name="tap_faq2">Igjen? Tuller du? Nei, Tap-modus støttes ikke. Flere e-poster med forespørsler om det vil bli støtte vil heller ikke hjelpe.</string>
+ <string name="tap_faq3">En tredje gang? Egentlig så kan man skrive en taå-emulator basert på tun-grensesnittet som ville gitt layer2-informasjon ved sending og fjernet layer2-informasjon ved mottakelse. Men, denne tap-emulatoren ville også måtte ha implementert ARP og muligens en DHSP-klient. Som utvikler er jeg ikke kjent med at noen arbeider med noe i denne retningen. Ta kontakt med meg dersom du ønsker å programmere dette.</string>
<string name="faq">FAQ</string>
<string name="copying_log_entries">Kopier loggoppføringer</string>
<string name="faq_shortcut">Snarvei til start</string>
+ <string name="faq_howto_shortcut">Du kan legge inn en snarvei for å starte OpenVPN på skrivebordet. Avhengig av ditt startskjermprogram må du legge til enten en snarvei eller en widget.</string>
+ <string name="no_vpn_support_image">Bildet ditt støtter ikke VPNService API, beklager :(</string>
<string name="encryption">Kryptering</string>
<string name="cipher_dialog_title">Angi krypteringsmetode</string>
+ <string name="chipher_dialog_message">Skriv inn krypteringskrypteringsalgoritmen som brukes av OpenVPN. La det stå tomt for å bruke standard kryptering.</string>
+ <string name="auth_dialog_message">Skriv inn godkjenningsfordeling som brukes til OpenVPN. La være tom for å bruke standard fordøyelse.</string>
<string name="settings_auth">Autentisering/kryptering</string>
<string name="file_explorer_tab">Filutforsker</string>
<string name="error_importing_file">Feil ved import av fil</string>
@@ -101,9 +129,11 @@
<string name="import_could_not_open">Finner ikke filen %1$s nevnt i importert konfigurasjons fil</string>
<string name="importing_config">Importerer konfigurasjonsfilen fra kilde %1$s</string>
<string name="import_done">Ferdig med å lese konfigurasjons-filen.</string>
+ <string name="nobind_summary">Ikke bind til lokal adresse og port</string>
<string name="no_bind">Ingen lokale binding</string>
<string name="import_configuration_file">Importer konfigurasjonsfil</string>
<string name="faq_security_title">Sikkerhetsvurderinger</string>
+ <string name="faq_security">"Som OpenVPN er sikkerhetsfølsomt, er noen få notater om sikkerhet fornuftig. Alle data på SD-kortet er iboende usikre. Hvert program kan lese det (for eksempel krever dette programmet ingen spesielle SD-kortrettigheter). Dataene i denne applikasjonen kan bare leses Ved bruk av importalternativet for cacert/cert/nøkkel i fildialogen lagres dataene i VPN-profilen. VPN-profilene er bare tilgjengelige for dette programmet. (Ikke glem å slette kopier på SD Kort etterpå). Selv om det kun er tilgjengelig med denne applikasjonen, er dataene fortsatt ukrypterte. Ved å rote telefonen eller andre utnytelser kan det hende at dataene kan hentes. Lagrede passord lagres også i vanlig tekst. For pkcs12-filer anbefales det sterkt At du importerer dem inn i android-nøkkelbutikken. "</string>
<string name="import_vpn">Importer</string>
<string name="broken_image_cert_title">Feil ved visning av sertifikatvalg</string>
<string name="ipv4">IPv4</string>
@@ -116,15 +146,18 @@
<string name="private_key_password">Privat nøkkel passord</string>
<string name="password">Passord</string>
<string name="file_icon">fil ikon</string>
- <string name="tls_authentication">TLS-godkjenning</string>
+ <string name="tls_authentication">TLS Godkjenning/Kryptering</string>
<string name="generated_config">Generert konfigurasjon</string>
+ <string name="generalsettings">Innstillinger</string>
<string name="owner_fix">Fiks eierskap av /dev/tun</string>
+ <string name="generated_config_summary">Viser den genererte OpenVPN konfigurasjonsfilen</string>
<string name="edit_profile_title">Rediger \"%s\"</string>
<string name="building_configration">Lager konfigurasjon&#8230;</string>
<string name="netchange">Koble til på nytt ved nettverks endring</string>
<string name="netstatus">Nettverksstatus: %s</string>
<string name="select_file">Velg</string>
<string name="show_log_window">Vis logg-vindu</string>
+ <string name="faq_system_dialogs_title">Tilkoblingsvarsel og varslingslyd</string>
<string name="translationby">Norsk oversettelse av Jonny</string>
<string name="ipdns">IP og DNS</string>
<string name="basic">Grunnleggende</string>
@@ -138,8 +171,6 @@
<string name="using_proxy">Bruker proxy %1$s %2$d</string>
<string name="use_system_proxy">Bruk systemet proxy</string>
<string name="use_system_proxy_summary">Bruk global systemkonfigurasjon for HTTP/HTTPS proxy for å koble til.</string>
- <string name="donatewithpaypal">Du kan &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;donere med PayPal&lt;/a&gt; </string>
- <string name="onbootrestart">Koble til på nytt ved restart</string>
<string name="ignore">Ignorer</string>
<string name="restart">Start på nytt</string>
<string name="configuration_changed">Konfigurasjon endret</string>
@@ -150,4 +181,45 @@
<string name="openvpn_log">OpenVPN Logg</string>
<string name="import_config">Importer OpenVPN konfigurasjon</string>
<string name="battery_consumption_title">Batteriforbruk</string>
+ <string name="minidump_generated">OpenVPN krasjet uventet. Vennligst vurder bruk av Minidump-alternativet i hovedmenyen</string>
+ <string name="send_minidump">Send Minidump til utvikler</string>
+ <string name="send_minidump_summary">Sender feilsøkingsinformasjon om siste krasj til utvikler</string>
+ <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="session_ipv4string">%1$s - %2$s</string>
+ <string name="session_ipv6string">%1$s - %3$s, %2$s</string>
+ <string name="state_connecting">Kobler til</string>
+ <string name="state_wait">Venter på serverrespons</string>
+ <string name="state_auth">Autentisering</string>
+ <string name="state_get_config">Få klient konfigurasjon</string>
+ <string name="state_assign_ip">Tilordne IP-adresser</string>
+ <string name="state_add_routes">Legge til ruter</string>
+ <string name="state_connected">Tilkoblet</string>
+ <string name="state_disconnected">Koble fra</string>
+ <string name="state_reconnecting">Koble til igjen</string>
+ <string name="state_exiting">Avslutter</string>
+ <string name="state_noprocess">Kjører ikke</string>
+ <string name="state_resolve">Løse vertsnavn</string>
+ <string name="state_tcp_connect">Kobler til (TCP)</string>
+ <string name="state_auth_failed">Autentisering mislyktes</string>
+ <string name="notifcation_title_notconnect">Ikke tilkoblet</string>
+ <string name="start_vpn_title">Kobler til VPN %s</string>
+ <string name="start_vpn_ticker">Kobler til VPN %s</string>
+ <string name="encryption_cipher">Kryptering chiffer</string>
+ <string name="packet_auth">Pakkegodkjenning</string>
+ <string name="auth_dialog_title">Angi pakkeautentiseringsmetode</string>
+ <string name="built_by">bygget av %s</string>
+ <string name="make_selection_inline">Kopier til profil</string>
+ <string name="add">Legg til</string>
+ <string name="send_config">Send konfigurasjonsfilen</string>
+ <string name="complete_dn">Fullfør DN</string>
+ <string name="remotetlsnote">Din importerte konfigurasjon brukte det gamle DEPRECATED tls-remote-alternativet som bruker et annet DN-format.</string>
+ <string name="rdn">RDN (vanlig navn)</string>
+ <string name="rdn_prefix">RDN prefiks</string>
+ <string name="help_translate">Du kan bidra til å oversette ved å besøke http://crowdin.net/project/ics-openvpn/invite</string>
+ <string name="screenoff_title">Pause VPN-tilkobling etter at skjermen er slått av</string>
+ <string name="import_log">Importer logg:</string>
+ <string name="client_behaviour">Klient adferd</string>
+ <string name="clear_external_apps">Slett tillatte eksterne apper</string>
+ <string name="loading">Laster&#8230;</string>
+ <string name="allowed_vpn_apps_info">Tillatte VPN-apper: %1$s</string>
</resources>
diff --git a/main/src/main/res/values-pl/arrays.xml b/main/src/main/res/values-pl/arrays.xml
index 392cc22c..2b52eb75 100755
--- a/main/src/main/res/values-pl/arrays.xml
+++ b/main/src/main/res/values-pl/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certyfikaty</item>
<item>Plik PKCS12</item>
@@ -12,8 +17,9 @@
<item>Użytkownik/Hasło + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Nieokreślone</item>
+ <item>Szyfrowanie (tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-pl/plurals.xml b/main/src/main/res/values-pl/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-pl/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-pl/strings.xml b/main/src/main/res/values-pl/strings.xml
index d596b19e..48abf92f 100755
--- a/main/src/main/res/values-pl/strings.xml
+++ b/main/src/main/res/values-pl/strings.xml
@@ -9,7 +9,7 @@
<string name="address">Adres serwera:</string>
<string name="port">Port serwera:</string>
<string name="location">Ścieżka</string>
- <string name="cant_read_folder">Nie mogę odczytać katalogu</string>
+ <string name="cant_read_folder">Brak możliwości czytania z katalogu</string>
<string name="select">Wybierz</string>
<string name="cancel">Anuluj</string>
<string name="no_data">Brak danych</string>
@@ -21,7 +21,7 @@
<string name="ca_title">Certyfikat CA</string>
<string name="no_certificate">Musisz wybrać certyfikat</string>
<string name="copyright_guicode">Kod źródłowy i formularz zgłoszeniowy błędów dostępny pod https://github.com/schwabe/ics-openvpn/</string>
- <string name="copyright_others">Program ten wykorzystuje następujące składniki; Szczegółowe informacje o licencjach w kodzie źródłowym</string>
+ <string name="copyright_others">Program ten wykorzystuje następujące składniki; szczegółowe informacje o licencjach znajdziesz w kodzie źródłowym</string>
<string name="about">O programie</string>
<string name="vpn_list_title">Profile</string>
<string name="vpn_type">Typ</string>
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Wybierz unikalną nazwę profilu</string>
<string name="profilename">Nazwa profilu</string>
<string name="no_keystore_cert_selected">Musisz wybrać certyfikat użytkownika</string>
+ <string name="no_ca_cert_selected">Musisz wybrać certyfikat CA</string>
<string name="no_error_found">Brak błędów</string>
<string name="config_error_found">Błąd w konfiguracji</string>
<string name="ipv4_format_error">Błąd analizowania adresu IPv4</string>
<string name="custom_route_format_error">Błąd analizowania niestandardowych tras</string>
<string name="pw_query_hint">(Pozostaw puste, aby wywołać na żądanie)</string>
<string name="vpn_shortcut">Skrót OpenVPN</string>
- <string name="vpn_launch_title">Połącz się z siecią VPN</string>
+ <string name="vpn_launch_title">Podłączanie do VPN...</string>
<string name="shortcut_profile_notfound">Nie odnaleziono profilu określonego w skrócie</string>
<string name="random_host_prefix">Losowy prefiks hosta</string>
<string name="random_host_summary">Dodaje 6 losowych znaków przed nazwą hosta</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Hasło klucza prywatnego</string>
<string name="password">Hasło</string>
<string name="file_icon">plik ikony</string>
- <string name="tls_authentication">Uwierzytelnianie TLS</string>
+ <string name="tls_authentication">Uwierzytelnianie TLS / Szyfrowanie</string>
<string name="generated_config">Utworzona konfiguracja</string>
<string name="generalsettings">Ustawienia</string>
<string name="owner_fix_summary">Stara się ustawić właściciela /dev/tun na system. Niektóre obrazy CM9 wymagają tego, aby API VPNService zaczęło działać. Wymaga root-a.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Używam proxy %1$s%2$d</string>
<string name="use_system_proxy">Użyj proxy systemowego</string>
<string name="use_system_proxy_summary">Połącz używając systemowej konfiguracji proxy HTTP/HTTPS.</string>
- <string name="donatewithpaypal">Możesz &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;wspomóc przez PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN połączy ponownie z VPN jeśli połączenie było aktywne przy restarcie/zamknięciu systemu. Przeczytaj proszę FAQ z ostrzeżeniami przed użyciem tej opcji.</string>
- <string name="onbootrestart">Połącz po restarcie</string>
+ <string name="onbootrestartsummary">OpenVPN połączy się z wybranym VPN jeżeli będzie aktywny podczas startu systemu. Przeczytaj FAQ dotyczący połączeń przed zastosowaniem tej opcji na Androidzie &lt; 5.0.</string>
+ <string name="onbootrestart">Połącz przy starcie</string>
<string name="ignore">Ignoruj</string>
<string name="restart">Uruchom ponownie</string>
<string name="restart_vpn_after_change">Zmiany konfiguracji będą zatwierdzone po restarcie VPN. Uruchomić ponowie teraz?</string>
@@ -252,7 +252,6 @@
<string name="state_tcp_connect">Łączenie (TCP)</string>
<string name="state_auth_failed">Błąd autentykacji</string>
<string name="state_nonetwork">Czekam na sieć</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Niepołączony</string>
<string name="start_vpn_title">Łączę z VPN %s</string>
<string name="start_vpn_ticker">Łączę z VPN %s</string>
@@ -311,6 +310,7 @@
<string name="logview_options">Opcje widoku</string>
<string name="unhandled_exception">Nieobsługiwany wyjątek: %1$s\n\n%2$s</string>
<string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
+ <string name="faq_system_dialog_xposed">Jeśli masz dostęp do roota możesz zaisntalować &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; oraz &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN potwierdzi moduł&lt;/a&gt;na wsłasne ryzyko\"</string>
<string name="full_licenses">Pełne licencje</string>
<string name="blocklocal_summary">Sieci połączone bezpośrednio do lokalnych interfejsów nie będą kierowane przez VPN. Odznaczając tę opcję przeniesiesz cały ruch przeznaczony dla sieci lokalnych przez VPN.</string>
<string name="blocklocal_title">Obejdź VPN dla sieci lokalnych</string>
@@ -347,12 +347,16 @@
<string name="duplicate_vpn">Powiel profil VPN</string>
<string name="duplicate_profile_title">Powielam profil: %s</string>
<string name="show_log">Pokaż dziennik</string>
+ <string name="faq_android_clients">Istnieje wiele klientów OpenVPN dla systemu Android. Najpopularniejszym jest OpenVPN for Android (ten klient), OpenVPN Connect oraz OpenVPN Settings.&lt;p&gt;Aplikacje można podzielić na dwie grupy: OpenVPN for Android oraz OpenVPN Connect używają oficjalnego API VPNService (Android 4.0+) i nie wymagają rootowania urządzenia oraz OpenVPN Settings, który wymagania rootowania.&lt;p&gt;OpenVPN for Android jest klientem otwarto-źródłowym i stworzonym przez Arne Schwabe. Dedykowany jest dla bardziej zaawansowanych użytkowników oraz oferuje wiele opcji konfiguracji włącznie z możliwością importowania i modyfikacji konfiguracji zapisanych do pliku. Ten klient powstał w oparciu o społecznościową wersję OpenVPN w wersji 2.x. Ten klient może uchodzić za oficjalnego klienta używanego przez społeczność. &lt;p&gt;OpenVPN Connect nie jest aplikacją otwarto-źródłową i został stworzony przez OpenVPN Technologies, Inc. Klient przeznaczony jest do generalnego użytku, dedykowany dla przeciętnego użytkownika i również umożliwia importowanie konfiguracji. Ten klient bazuje na implementacji protokołu OpenVPN w języku C++ (podyktowanego to było warunkami umożliwiającymi OpenVPN Technologies, Inc opublikowanie wersji klienta dla systemu iOS). Jest to oficjalny klient OpenVPN Technologies, Inc. &lt;p&gt; OpenVPN Settings jest najstarszym z wymienionych klientów i jednocześnie interfejsem graficznym dla otwarto-źródłowego OpenVPN. W odróżnieniu od OpenVPN for Android wymaga rootowania urządzenia i nie wykorzystuje VPNService API. Nie wymaga do działania Android 4.0+</string>
<string name="faq_androids_clients_title">Różnice pomiędzy klientami OpenVPN dla Androida</string>
<string name="ignore_multicast_route">Ignoruj trasę multicast: %s</string>
<string name="ab_only_cidr">Android wspiera tylko trasy CIDR w sieci VPN. Jako, że trasy nie-CIDR nie są powszechnie używane, OpenVPN dla Androida użyje /32 dla tras w formacie nie-CIDR i wyświetli błąd.</string>
<string name="ab_tethering_44">Tethering działa podczas połączenia z VPN. Udostępnione połączenie NIE będzie używało VPN.</string>
<string name="ab_kitkat_mss">Wczesne wersje KitKat ustawiają złą wartość MSS połączeń TCP (#61948). Spróbuj ustawić opcję mssfix w celu obejścia tego problemu.</string>
+ <string name="ab_proxy">Android będzie używał Twoich ustawień proxy dla połączenia mobilnego/Wi-Fi kiedy nie jest sprecyzowany serwer DNS.
+OpenVPN dla Androida ostrzeże Cię o tym w logu.<p>Kiedy VPN ustawi serwer DNS Android nie będzie używał więcej proxy. Nie ma żadnego API do ustawienia proxy dla połączenia VPN.</p></string>
<string name="ab_lollipop_reinstall">Aplikacje VPN mogą przestać działać po odinstalowaniu i ponownej instalacji. W celu uzyskania szczegółów zobacz #80074</string>
+ <string name="ab_not_route_to_vpn">Brakuje konfiguracji tras dla adresu IP klienta oraz masek podsieci. OpenVPN rozwiązuje ten problem przez dodanie trasy odpowiedniej dla adresu IP klienta i maski jego podsieci</string>
<string name="ab_secondary_users">VPN absolutnie nie działa dla dodatkowych użytkowników.</string>
<string name="ab_kitkat_reconnect">"Jest grono użytkowników, którzy donoszą, iż podczas używania aplikacji VPN połączenie danych/komórkowe jest często zrywane. Zachowanie to wydaje się dotykać niewielkiej liczby urządzeń/dostawców danych komórkowych - na tę chwilę nieznana jest przyczyna, ani rozwiązanie problemu."</string>
<string name="ab_only_cidr_title">Trasy nie-CIDR</string>
@@ -370,6 +374,8 @@
<string name="ab_vpn_reachability_44_title">Zdalne sieci nie są osiągalne</string>
<string name="ab_persist_tun_title">Tryb persist tun</string>
<string name="version_and_later">%s i późniejsze</string>
+ <string name="tls_cipher_alert_title">Uzgodnienie połączenia nie powiodło się z kodem błędu: SSL23_GET_SERVER_HELLO:sslv3</string>
+ <string name="tls_cipher_alert">Nowsze wersje OpenVPN for Android (od wersji 0.6.29 z marca 2015) używają domyślnie bezpieczniejszego szyfrowania (tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). Niestety, pominięcie mniej bezpiecznego szyfrowania - w szczególności pominięcie metod szyfrowania niewspierających Perfekcyjnego Utajnienia Przekazywania - powoduje pewne problemy. Te, najczęściej są spowodowane przez dobrze motywowane lecz źle wykonane próby poprawienia bezpieczeństwa TLS przez ustawienie tls-cipher na serwerze lub niektórych systemach wbudowanych z ograniczonym SSL (np.: MikroTik).\n W celu rozwiązania tego problemu, ustaw tls-cipher na serwerze na rozsądną wartość (np.: tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). W celu rozwiązania problemu po stronie klienta - ustaw niestandardową wartość: tls-cipher DEFAULT.</string>
<string name="message_no_user_edit">Ten profil został dodany przez zewnętrzną aplikację (%s) i został oznaczony jako nie edytowalny przez użytkownika.</string>
<string name="crl_file">Listy odwoławcze CRL</string>
<string name="service_restarted">Restartuję usługę OpenVPN (Aplikacja wywaliła się lub zabito ją z powodu braku pamięci)</string>
@@ -382,7 +388,31 @@
<string name="query_permissions_sdcard">OpenVPN dla Android spróbuje automatycznie wykryć brakujące pliki na karcie SD. Dotknij tego komunikatu, aby żądać uprawnień.</string>
<string name="protocol">Protokół</string>
<string name="enabled_connection_entry">Włączony</string>
- <string name="months_left">pozostało %d miesięcy</string>
- <string name="days_left">pozostało %d dni</string>
- <string name="hours_left">pozostało %d godzin</string>
+ <string name="permission_revoked">Pozwolenie VPN odwołane przez system (na przykład inny program VPN jest uruchomiony), zatrzymuję VPN</string>
+ <string name="pushpeerinfo">Naciśnij \"Peer info\"</string>
+ <string name="pushpeerinfosummary">Wyślij dodatkowe informację do serwera, na przykład wersję SSL oraz Androida</string>
+ <string name="pw_request_dialog_title">Potrzeba %1$s</string>
+ <string name="pw_request_dialog_prompt">Proszę podać hasło do profilu %1$s</string>
+ <string name="menu_use_inline_data">Użyj danych podanych explicite</string>
+ <string name="export_config_chooser_title">Eksportuj plik konfiguracyjny</string>
+ <string name="missing_tlsauth">Plik tls-auth nie odnaleziony</string>
+ <string name="missing_certificates">Brakujący certyfikat użytkownika lub plik klucza certyfikatu użytkownika</string>
+ <string name="missing_ca_certificate">Brak certyfikatu CA</string>
+ <string name="crl_title">Lista unieważnionych certyfikatów (opcjonalnie)</string>
+ <string name="reread_log">Odśwież %d wpis(ów) dziennika z pliku pamięci podręcznej</string>
+ <string name="samsung_broken">Pomimo, że telefony marki Samsung są jednymi z najliczniej sprzedawanych urządzeń z Androidem, oprogramowanie układowe Samsunga jest jednocześnie jednym z posiadających najwięcej błędów. Błędy nie ograniczają się wyłącznie do operacji związanych z VPN a wiele z nich zostało rozwiązanych technikami tymczasowymi. Poniższa lista przedstawia kilka ze wspomnianych błędów.\n\nDNS nie działa poza zakresem VPN.\n\nNa wielu urządzeniach marki Samsung z Androidem 5.x aplikacje dozwolone/niedozwolone nie działają.\n\nNa urządzeniach marki Samsung z Androidem 6.x VPN może nie działać podczas aktywnego oszczędzania energii.</string>
+ <string name="samsung_broken_title">Telefony Samsung</string>
+ <string name="novpn_selected">Nie wybrano VPN.</string>
+ <string name="reconnect">Podłącz ponownie</string>
+ <string name="qs_title">Przełącz VPN</string>
+ <string name="qs_connect">Połącz z %s</string>
+ <string name="qs_disconnect">Rozłącz %s</string>
+ <string name="connectretrymaxmessage">Podaj maksymalny czas pomiędzy kolejnymi próbami połączenia. OpenVPN będzie powoli zwiększał czas oczekiwania po każdej nieudanej próbie połączenia aż do podanej wartości. Domyślna wartość to 300 sekund.</string>
+ <string name="connectretrymaxtitle">Maksymalny czas między próbami połączenia</string>
+ <string name="state_waitconnectretry">Oczekiwanie %s sekund pomiędzy kolejnymi próbami połączenia</string>
+ <string name="management_socket_closed">Połączenie OpenVPN zamknięte (%s)</string>
+ <string name="change_sorting">Zmień sortowanie</string>
+ <string name="sort">Sortowanie</string>
+ <string name="sorted_lru">Profile posortowane według ostatnio używanych</string>
+ <string name="sorted_az">Profile sortowane według nazwy</string>
</resources>
diff --git a/main/src/main/res/values-pt/arrays.xml b/main/src/main/res/values-pt/arrays.xml
index e531bb80..6122add4 100755
--- a/main/src/main/res/values-pt/arrays.xml
+++ b/main/src/main/res/values-pt/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificados</item>
<item>Ficheiro PKCS12</item>
@@ -12,8 +17,14 @@
<item>Utilizador/PW + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Não especificado</item>
+ <item>Criptografia (--tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Disconnect, forget password</item>
+ <item>Disconnect, keep password</item>
+ <item>Ignore, retry</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-pt/plurals.xml b/main/src/main/res/values-pt/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-pt/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-pt/strings.xml b/main/src/main/res/values-pt/strings.xml
index 5b9b4db5..18e11956 100755
--- a/main/src/main/res/values-pt/strings.xml
+++ b/main/src/main/res/values-pt/strings.xml
@@ -50,7 +50,6 @@
<string name="custom_route_format_error">Erro ao analisar as rotas personalizadas</string>
<string name="pw_query_hint">(deixe em branco para consulta a pedido)</string>
<string name="vpn_shortcut">Atalho do OpenVPN</string>
- <string name="vpn_launch_title">Ligar à VPN</string>
<string name="shortcut_profile_notfound">Perfil especificado no atalho não encontrado</string>
<string name="random_host_prefix">Prefixo de Host aleatório</string>
<string name="random_host_summary">Adiciona 6 caracteres aleatórios ao nome do host</string>
@@ -65,6 +64,7 @@
<string name="remove_vpn">Remover VPN</string>
<string name="check_remote_tlscert">Verifica se o servidor utiliza um certificado com extensões TLS Server (--remote-cert-tls server)</string>
<string name="check_remote_tlscert_title">Esperar certificado do servidor TLS</string>
+ <string name="remote_tlscn_check_summary">Verifica o assunto DN do certificado do servidor remoto</string>
<string name="remote_tlscn_check_title">Verificar nome de host do certificado</string>
<string name="enter_tlscn_title">Assunto do certificado remoto</string>
<string name="tls_key_auth">Ativa a autenticação de chave TLS</string>
@@ -155,7 +155,6 @@
<string name="private_key_password">Senha de chave privada</string>
<string name="password">Senha</string>
<string name="file_icon">ícone de ficheiro</string>
- <string name="tls_authentication">Autenticação TLS</string>
<string name="generated_config">Config gerado</string>
<string name="generalsettings">Configurações</string>
<string name="owner_fix">Corrija a propriedade de /dev/tun</string>
@@ -169,11 +168,16 @@
<string name="ipdns">IP e DNS</string>
<string name="basic">Básico</string>
<string name="routing">Encaminhamento</string>
+ <string name="obscure">Definições obscuras OpenVPN. Raramente necessário.</string>
<string name="advanced">Avançado</string>
+ <string name="export_config_title">Configuração Openvpn ICS</string>
<string name="faq_howto_title">Início Rápido</string>
+ <string name="setting_loadtun_summary">Tente carregar o módulo tun.ko do kernel antes de ligar. Necessita de acesso root ao dispositivo.</string>
+ <string name="setting_loadtun">Carregar o módulo tun</string>
+ <string name="getproxy_error">Erro ao obter definições proxy %s</string>
<string name="using_proxy">A utilizar proxy %1$s %2$d</string>
<string name="use_system_proxy">Usar a proxy do sistema</string>
- <string name="onbootrestart">Volte a ligar na reinicialização</string>
+ <string name="onbootrestart">Ligar no arranque</string>
<string name="ignore">Ignorar</string>
<string name="restart">Reiniciar</string>
<string name="restart_vpn_after_change">As alterações de configuração são aplicadas depois de reiniciar a VPN. Reiniciar a VPN agora?</string>
@@ -182,6 +186,7 @@
<string name="no_vpn_profiles_defined">Não há perfis de VPN definidos.</string>
<string name="add_new_vpn_hint">Use o &lt; img src = \"ic_menu_add\" / &gt; ícone para adicionar uma nova VPN</string>
<string name="vpn_import_hint">Use o &lt; img src = \"ic_menu_archive\" / &gt; ícone para importar um perfil existente (ovpn ou conf) do seu sdcard.</string>
+ <string name="faq_hint">Verifique as FAQ. Existe um guia rápido.</string>
<string name="faq_routing_title">Configuração de roteamento/Interface</string>
<string name="persistent_tun_title">Tun Persistente</string>
<string name="openvpn_log">OpenVPN Log</string>
@@ -192,6 +197,7 @@
<string name="reconnection_settings">Configurações de religação</string>
<string name="connectretrywait">Segundos entre ligações</string>
<string name="send_minidump">Enviar Minidump para desenvolvedor</string>
+ <string name="send_minidump_summary">Envia informação de depuração sobre falhas para o programador</string>
<string name="notifcation_title">OpenVPN - %s</string>
<string name="session_ipv4string">%1$s - %2$s</string>
<string name="session_ipv6string">%1$s - %3$s, %2$s</string>
@@ -210,7 +216,6 @@
<string name="state_tcp_connect">A ligar (TCP)</string>
<string name="state_auth_failed">Falha na autenticação</string>
<string name="state_nonetwork">A aguardar rede utilizável</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Não ligado</string>
<string name="start_vpn_title">A ligar a VPN %s</string>
<string name="start_vpn_ticker">A ligar a VPN %s</string>
@@ -233,6 +238,8 @@
<string name="remote_trust">Confio nesta aplicação.</string>
<string name="no_external_app_allowed">Nenhuma app pode usar a API externa</string>
<string name="allowed_apps">Aplicações permitidas:%s</string>
+ <string name="screenoff_title">Pausar a ligação VPN após desligar o ecrã</string>
+ <string name="screen_nopersistenttun">Aviso: Tun persistente não está ativado para esta VPN. Quando o ecrã estiver desligado o tráfego de internet usa a ligação normal.</string>
<string name="save_password">Guardar senha</string>
<string name="pauseVPN">Pausar VPN</string>
<string name="resumevpn">Retomar VPN</string>
@@ -261,8 +268,25 @@
<string name="userpw_file">Ficheiro de utilizador/senha</string>
<string name="imported_from_file">[Importado de: %s]</string>
<string name="import_log">Log de importação:</string>
+ <string name="mssfix_dialogtitle">Definir MSS do TCP payload</string>
+ <string name="client_behaviour">Comportamento cliente</string>
+ <string name="loading">A carregar&#8230;</string>
+ <string name="allowed_vpn_apps_info">Aplicações permitidas:%s</string>
+ <string name="query_delete_remote">Remover entrada do servidor remoto?</string>
+ <string name="keep">Manter</string>
+ <string name="delete">Eliminar</string>
+ <string name="server_list">Lista servidores</string>
+ <string name="vpn_allowed_apps">Aplicações permitidas</string>
+ <string name="advanced_settings">Definições avançadas</string>
+ <string name="tls_settings">Definições TLS</string>
+ <string name="duplicate_vpn">Perfil VPN duplicado</string>
+ <string name="show_log">Mostrar registo</string>
<string name="ignore_multicast_route">Ignorar caminho multicast: %s</string>
<string name="ab_only_cidr">Android apenas suporta rotas CIDR para a VPN. Pelo facto de as rotas não-CIDR quase nunca serem usadas, OpenVPN para Android irá usar uma rota /32 para rotas não-CIDR e emitir um aviso.</string>
<string name="ab_secondary_users">VPN não funcionar para utilizadores secundários.</string>
<string name="ab_only_cidr_title">Rotas não CIDR</string>
+ <string name="ab_proxy_title">Comportamento proxy para VPNs</string>
+ <string name="version_upto">%s e anteriores</string>
+ <string name="copy_of_profile">Copiar de %s</string>
+ <string name="custom_connection_options">Opções personalizadas</string>
</resources>
diff --git a/main/src/main/res/values-ro/arrays.xml b/main/src/main/res/values-ro/arrays.xml
index 0806aafe..4b103574 100755
--- a/main/src/main/res/values-ro/arrays.xml
+++ b/main/src/main/res/values-ro/arrays.xml
@@ -1,9 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Certificate</item>
- <item>fişier PKCS12</item>
+ <item>Fişier PKCS12</item>
<item>Certificat Android</item>
<item>Utilizator/Parola</item>
<item>Chei statice</item>
@@ -12,8 +17,14 @@
<item>Utilizator/PW + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Nespecificat</item>
+ <item>Criptare (--tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Deconectați, uitați parola</item>
+ <item>Deconectați, păstrați parola</item>
+ <item>Ignorați, reîncercați</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-ro/plurals.xml b/main/src/main/res/values-ro/plurals.xml
new file mode 100755
index 00000000..8ca7bf07
--- /dev/null
+++ b/main/src/main/res/values-ro/plurals.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">O lună rămasă</item>
+ <item quantity="few">%d luni rămase</item>
+ <item quantity="other">%d luni rămase</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">O zi rămasă</item>
+ <item quantity="few">%d zile rămase</item>
+ <item quantity="other">%d zile rămase</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">O oră rămasă</item>
+ <item quantity="few">%d ore rămase</item>
+ <item quantity="other">%d ore rămase</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Un minut rămas</item>
+ <item quantity="few">%d minute rămase</item>
+ <item quantity="other">%d minute rămase</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-ro/strings.xml b/main/src/main/res/values-ro/strings.xml
index ef70ab27..055873a2 100755
--- a/main/src/main/res/values-ro/strings.xml
+++ b/main/src/main/res/values-ro/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Vă rugăm să introduceţi un nume de profil unic</string>
<string name="profilename">Nume profil</string>
<string name="no_keystore_cert_selected">Trebuie să selectați un certificat de utilizator</string>
+ <string name="no_ca_cert_selected">Trebuie să selectați un certificat CA</string>
<string name="no_error_found">Nu s-a găsit nici o eroare</string>
<string name="config_error_found">Eroare în configurare</string>
<string name="ipv4_format_error">Eroare parsare adresă IPv4</string>
<string name="custom_route_format_error">Eroare parsare rute particularizate</string>
<string name="pw_query_hint">(lăsaţi necompletat pentru a interoagre la cerere)</string>
<string name="vpn_shortcut">Scurtătură OpenVPN</string>
- <string name="vpn_launch_title">Conectare la VPN</string>
+ <string name="vpn_launch_title">Conectare la VPN&#8230;</string>
<string name="shortcut_profile_notfound">Profilul specificat în comanda rapidă nu a fost găsit</string>
<string name="random_host_prefix">Prefix host aleator</string>
<string name="random_host_summary">Adaugă 6 caractere aleatoare în faţa hostname</string>
@@ -87,7 +88,9 @@
<string name="default_route_summary">Redirecţionează tot traficul peste VPN</string>
<string name="use_default_title">Foloseşte ruta default</string>
<string name="custom_route_message">Introduceţi rute particularizate. Introduceţi destinaţia în format CIDR. \"10.0.0.0/8 2002:: / 16\" va redirecta reţelele 10.0.0.0/8 şi 2002:: / 16 peste VPN.</string>
+ <string name="custom_route_message_excluded">Rute care NU ar trebui să fie direcționate prin VPN. Utilizați aceeași sintaxă ca și pentru rutele incluse.</string>
<string name="custom_routes_title">Rute particularizate</string>
+ <string name="custom_routes_title_excluded">Rețele Excluse</string>
<string name="log_verbosity_level">Nivel detaliu jurnal</string>
<string name="float_summary">Permite pachete autentificate de la orice IP</string>
<string name="float_title">Permite floating server</string>
@@ -101,6 +104,9 @@
<string name="last_openvpn_tun_config">Se deschide interfața tun:</string>
<string name="local_ip_info">Local IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
<string name="dns_server_info">Server DNS: %1$s, Domeniu: %2$s</string>
+ <string name="routes_info_incl">Rute: %1$s %2$s</string>
+ <string name="routes_info_excl">Rute excluse: %1$s %2$s</string>
+ <string name="routes_debug">Rute VpnService instalate: %1$s %2$s</string>
<string name="ip_not_cidr">S-au primit informaţiile despre interfaţă %1$s şi %2$s, presupun că a doua adresă este adresa peer a serverlui remote. Folosesc netmask /32 pentru IP local. Modul dat de OpenVPN este \"%3$s\".</string>
<string name="route_not_cidr">Nu se poate interpreta %1$s şi %2$s ca rute IP cu netmask CIDR, folosesc /32 ca netmask.</string>
<string name="route_not_netip">Am corectat ruta %1$s/%2$s ca %3$s/%2$s</string>
@@ -114,7 +120,7 @@
<string name="faq_tap_mode">Modul Tap nu este posibil folosind API-ul VPN non root. Astfel această aplicaţie nu poate oferi suport tap</string>
<string name="tap_faq2">Din nou? Glumesti? Nu, modul tap chiar nu este suportat şi trimiţând mai multe email-uri în care îl cereţi nu va ajuta.</string>
<string name="tap_faq3">A treia oară? De fapt, cineva ar putea scrie un emulator tap bazat pe tun ce ar adăuga informaţii din layer2 la trimitere şi are elimina informaţiile layer2 la primire. Dar acest emulator ar trebui sa implementeze ARP şi probabil un client DHCP. Nu sunt la curent cu cineva care lucrează la asta. Daca vreţi sa programaţi aceste funcţii mă puteţi contacta.</string>
- <string name="faq">FAQ</string>
+ <string name="faq">Întrebări frecvente</string>
<string name="copying_log_entries">Copiere linii jurnal</string>
<string name="faq_copying">Pentru a copia o singură linie din jurnal apăsaţi şi menţineţi apăsat pe acea linie. Pentru a copia/trimite întreg jurnalul folosiţi opţiunea Trimite Jurnal. Folosiţi butonul de meniu hardware dacă nu este vizibil în GUI.</string>
<string name="faq_shortcut">Shortcut pornire</string>
@@ -122,6 +128,7 @@
<string name="no_vpn_support_image">Imaginea dvs. nu suportă API-ul VPNService, îmi pare rău :(</string>
<string name="encryption">Criptare</string>
<string name="cipher_dialog_title">Alegeţi metoda de criptare</string>
+ <string name="chipher_dialog_message">Introduceți cifrul algoritmului de criptare folosit de OpenVPN. Lăsați liber pentru a utiliza cifrul implicit.</string>
<string name="auth_dialog_message">Introduceţi autentificarea digest ce este folosită de OpenVPN. Lăsaţi gol pentru digest predefinit.</string>
<string name="settings_auth">Autentificare/criptare</string>
<string name="file_explorer_tab">File Explorer</string>
@@ -158,7 +165,7 @@
<string name="private_key_password">Parola cheie privată</string>
<string name="password">Parola</string>
<string name="file_icon">icon fişier</string>
- <string name="tls_authentication">autentificare TLS</string>
+ <string name="tls_authentication">Autentificare / criptare TLS</string>
<string name="generated_config">Config generat</string>
<string name="generalsettings">Setări</string>
<string name="owner_fix_summary">Încearcă să seteze owner-ul /dev/tun ca sistem. Unele imagini CM9 au nevoie de asta pentru a permite API-ului VPNService să funcţioneze. Are nevoie de root.</string>
@@ -174,6 +181,7 @@
<string name="keychain_nocacert">Nici un certificat CA nu a fost returnat la citirea din keystore-ul Android. Autentificarea probabil va eşua.</string>
<string name="show_log_summary">Afişează fereastra jurnal la conectare. Fereastra jurnal poate fi accesată oricând din statusul notificare.</string>
<string name="show_log_window">Arată fereastra Jurnal</string>
+ <string name="mobile_info">%10$s %9$s rulează pe %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Eroare semnare cu Android keystore key %1$s: %2$s</string>
<string name="faq_system_dialogs">Avertizarea la conexiunea VPN ce vă spune că această aplicaţie poate intercepta întreg traficul este impusă de sistem pentru a preveni abuzul funcţiei API VPNService.\nNotificarea de conexiune VPN(simbolul cheie)este de asemenea impusă de sistemul Android pentru a semnala o conexiune VPN în derulare. În cadrul unor imagini această notificare face şi un sunet.\nAndroid a introdus aceste notificări pentru siguranţa dvs. şi este asigurat că nu pot fi evitate. (Din păcate în anumite imagini acestea includ şi un sunet de notificare)</string>
<string name="faq_system_dialogs_title">Alertă conexiune şi sunet notificare</string>
@@ -186,6 +194,7 @@
<string name="export_config_title">Configurare Openvpn ICS</string>
<string name="warn_no_dns">Nici un server DNS utilizat. Rezolvarea de nume poate să nu funcționeze. Luați în considerare stabilirea unor servere DNS personalizate. Vă rugăm, de asemenea, rețineți că Android va continua să utilizeze setările proxy specificate pentru conexiunea mobilă/Wi-Fi atunci când nu sunt stabilite servere DNS.</string>
<string name="dns_add_error">Nu s-a putut adăuga serverul DNS \"%1$s\", respins de sistem: %2$s</string>
+ <string name="ip_add_error">Adresa IP \"%1$s\" nu a putut fi configurată, respinsă de sistem: %2$s</string>
<string name="faq_howto">&lt;p&gt;Obţineţi o configurare funcţională (testată pe calculatorul dvs. sau descărcată de la provider/companie)&lt;/p&gt;&lt;p&gt;Dacă este un singur fişier fără alte fişiere pem/pks12 puteţi să vă trimiteţi fişierul prin email şi să deschideţi ataşamentul. Daca aveţi fişiere multiple le puteţi pune pe cardul sd.&lt;/p&gt;&lt;p&gt;Click pe ataşamentul email/Folosiţi icoana director din lista de vpn-ri pentru a importa fişierul de configurare.&lt;/p&gt;&lt;p&gt;Dacă sunt erori despre fişiere lipsă le puteţi pune pe cardul sd.&lt;/p&gt;&lt;p&gt;Click pe simbolul de salvare pentru a adăuga VPN-ul importat în lista dvs. de VPN-uri&lt;/p&gt;&lt;p&gt;Conectaţi VPN-ul dând click pe numele VPN-ului&lt;/p&gt;&lt;p&gt;Dacă sunt erori/avertismente în jurnal încercaţi să le înţelegeţi şi să le reparaţi&lt;/p&gt; </string>
<string name="faq_howto_title">Pornire rapidă</string>
<string name="setting_loadtun_summary">Încearcă încărcarea modului kernel tun.ko înainte de conectare. Are nevoie de un device root-at.</string>
@@ -195,9 +204,8 @@
<string name="using_proxy">Folosesc proxy %1$s %2$d</string>
<string name="use_system_proxy">Foloseşte proxy sistem</string>
<string name="use_system_proxy_summary">Foloseşte configurarea sistem pentru proxy HTTP/HTTPS folosit la conectare.</string>
- <string name="donatewithpaypal">Puteţi &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;dona prin PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN va reconecta un VPN dacă a fost activ la reboot/shutdown. Citiţi avertizarea la Conexiune din FAQ înainte de a folosi această funcţie.</string>
- <string name="onbootrestart">Reconectarea la reboot</string>
+ <string name="onbootrestartsummary">OpenVPN va conecta VPN-ul specificat dacă vs fi activ la pornirea sistemului. Citiți întrebările frecvente privind avertizare de conexiune înainte de a utiliza această opțiune pe Android &lt; 5.0.</string>
+ <string name="onbootrestart">Conectare la pornire</string>
<string name="ignore">Ignora</string>
<string name="restart">Restart</string>
<string name="restart_vpn_after_change">Schimbările de configurare vor fi aplicate după restartarea VPN-ului. (Re)startaţi VPN-ul acum?</string>
@@ -210,6 +218,7 @@
<string name="vpn_import_hint">Folosiţi icoana &lt;img src=\"ic_menu_archive\"/&gt; pentru a importa un profil existent (.ovpn sau .conf) de pe cardul sd.</string>
<string name="faq_hint">Verificaţi şi FAQ. Acolo este ghid rapid de utilizare.</string>
<string name="faq_routing_title">Configurare Rutare/Interfaţă</string>
+ <string name="faq_routing">Rutarea și configurarea interfaței nu este făcută prin comenzile tradiționale ifconfig / route, ci prin utilizarea API-ului VPNService. Acest lucru are ca rezultat o altă configurație de rutare decât pe alte sisteme de operare. \nConfigurarea tunelului VPN constă în adresa IP și în rețelele prin care ar trebui să fie direcționată această interfață. În mod special, nu este necesară nicio adresă de peer sau o adresă de gateway. Nu sunt necesare rute speciale pentru a ajunge la serverul VPN (de exemplu, adăugate atunci când utilizați gateway-ul de redirecționare). Prin urmare, aplicația va ignora aceste setări atunci când importează o configurație. Aplicația asigură cu API-ul VPNService că conexiunea la server nu este direcționată prin tunelul VPN. \nAPI-ul VPNService nu permite specificarea unor rețele care nu ar trebui să fie direcționate prin VPN. Pentru a evita această problemă, aplicația încearcă să detecteze rețele care nu ar trebui să fie direcționate către tunel (de exemplu, route x.x.x.x y.y.y.y net_gateway) și calculează un set de rute care exclude aceste rute pentru a emula comportamentul altor platforme. Ferestrele de jurnal arată configurația serviciului VPNService la stabilirea conexiunii. \nPS: Android 4.4+ folosește rutarea politică. Utilizarea route/ifconfig nu va afișa rutele instalate. În schimb, utilizați regulile ip, iptables -t mangle -L</string>
<string name="persisttun_summary">Nu reveni la nici o conexiune VPN câtă vreme OpenVPN se reconectează.</string>
<string name="persistent_tun_title">Tun persistent</string>
<string name="openvpn_log">jurnal OpenVPN</string>
@@ -243,7 +252,7 @@
<string name="state_tcp_connect">Se conectează (TCP)</string>
<string name="state_auth_failed">Autentificare a eşuat</string>
<string name="state_nonetwork">Se aşteaptă o reţea utilizabilă</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Nu este conectat</string>
<string name="start_vpn_title">Conectare la VPN %s</string>
<string name="start_vpn_ticker">Conectare la VPN %s</string>
@@ -265,6 +274,7 @@
<string name="tls_remote_deprecated">tls-remote (ÎNVECHIT)</string>
<string name="help_translate">Puteţi ajuta la traducere vizitând http://crowdin.net/project/ics-openvpn/invite</string>
<string name="prompt">%1$s încercări de a controla %2$s</string>
+ <string name="remote_warning">Continuând, daţi permisiunea aplicaţiei de a controla complet OpenVPN pentru Android și de a intercepta tot traficul de rețea. <b>Nu acceptaţi decât dacă aveți încredere în aplicație</b> În caz contrar, riscaţi să aveţi datele compromise de software maliţios.\"</string>
<string name="remote_trust">Am încredere în această aplicaţie.</string>
<string name="no_external_app_allowed">Nici o aplicaţie nu are permisiunea de a folosi API-ul extern</string>
<string name="allowed_apps">Aplicaţii permise: %s</string>
@@ -274,4 +284,162 @@
<string name="screenoff_pause">Se suspendă conexiunea în starea ecran oprit: mai puţin de %1$s în %2$s</string>
<string name="screen_nopersistenttun">Atenție: TUN persistent nu este activat pentru acest VPN. Traficul va utiliza conexiunea Internet normala atunci când ecranul este oprit.</string>
<string name="save_password">Salvare parola</string>
+ <string name="pauseVPN">Pauză VPN</string>
+ <string name="resumevpn">Reluare VPN</string>
+ <string name="state_userpause">Întrerupere VPN solicitată de utilizator</string>
+ <string name="state_screenoff">VPN întrerupt - ecran stins</string>
+ <string name="device_specific">Trucuri specifice dispozitivului</string>
+ <string name="cannotparsecert">Nu se pot afișa informații privind certificatul</string>
+ <string name="appbehaviour">Comportamentul aplicației</string>
+ <string name="vpnbehaviour">Comportamentul VPN</string>
+ <string name="allow_vpn_changes">Permite modificări la Profilurile VPN</string>
+ <string name="hwkeychain">Hardware Keystore:</string>
+ <string name="permission_icon_app">Iconița aplicației care încearcă să utilizeze OpenVPN pentru Android</string>
+ <string name="faq_vpndialog43">"Începând cu versiunea Android 4.3, confirmarea VPN este protejată împotriva \"suprapunerii aplicațiilor\", și din acest motiv căsuța de dialog nu răspunde la atingere. Dacă aveți o aplicație care folosește suprapuneri, aceasta poate cauza acest comportament și contactați autorul acelei aplicații. Această problemă afectează toate aplicațiile VPN pe Android 4.3 și versiuni ulterioare. A se vedea, de asemenea, &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Issue 185&lt;a&gt; pentru detalii suplimentare"</string>
+ <string name="faq_vpndialog43_title">Dialog de Confirmare VPN</string>
+ <string name="donatePlayStore">Alternativ puteţi dona prin Play Store:</string>
+ <string name="thanks_for_donation">Vă mulțumim că ați donat %s!</string>
+ <string name="logCleared">Jurnal șters.</string>
+ <string name="show_password">Arată parola</string>
+ <string name="keyChainAccessError">KeyChain eroare de acces: %s</string>
+ <string name="timestamp_short">Scurt</string>
+ <string name="timestamp_iso">ISO</string>
+ <string name="timestamps">Marcaj de timp</string>
+ <string name="timestamps_none">Nici unul</string>
+ <string name="uploaded_data">Încărcare</string>
+ <string name="downloaded_data">Descărcare</string>
+ <string name="vpn_status">Stare VPN</string>
+ <string name="logview_options">Vezi opţiuni</string>
+ <string name="unhandled_exception">Excepție netrată: %1$s\n\n%2$s</string>
+ <string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
+ <string name="faq_system_dialog_xposed">Dacă aveți dispozitivul Android rootat, puteți instala &lt;a href=\"http://xposed.info/\"&gt;Xposed&lt;/a&gt; și &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;modulul Dialog de Confirmare VPN&lt;/a&gt; pe propriul risc\"</string>
+ <string name="full_licenses">Licențe complete</string>
+ <string name="blocklocal_summary">Rețelele conectate direct la interfețele locale nu vor fi rutate prin VPN. Dacă dezactivați această opțiune, veți redirecționa prin VPN întregul trafic intenționat pentru rețelele locale.</string>
+ <string name="blocklocal_title">Bypass VPN pentru rețelele locale</string>
+ <string name="userpw_file">Fișier de utilizator și parolă</string>
+ <string name="imported_from_file">[Importat din %s]</string>
+ <string name="files_missing_hint">Unele fișiere nu au putut fi găsite. Selectați fișierele pentru a importa profilul:</string>
+ <string name="openvpn_is_no_free_vpn">Pentru a utiliza această aplicație, aveți nevoie de un furnizor VPN / gateway VPN care să suporte OpenVPN (adesea furnizat de angajatorul dvs.). Consultați http://community.openvpn.net/ pentru mai multe informații despre OpenVPN și despre configurarea propriului server OpenVPN.</string>
+ <string name="import_log">Jurnal de import:</string>
+ <string name="ip_looks_like_subnet">Topologia VPN \"%3$s\" este specificată, dar ifconfig %1$s %2$s arată mai mult ca o adresă IP cu o mască de rețea. Utilizăm topologia \"subrețelei\".</string>
+ <string name="mssfix_invalid_value">Valoarea de suprascriere MSS trebuie să fie un număr întreg între 0 și 9000</string>
+ <string name="mtu_invalid_value">Valoarea suprascrierii MTU trebuie să fie un număr întreg între 64 și 9000</string>
+ <string name="mssfix_value_dialog">Anunțați sesiunile TCP care rulează prin tunel că ar trebui să limiteze dimensiunile pachetelor de trimitere astfel încât, după ce OpenVPN le-a încapsulat, dimensiunea pachetului UDP rezultat pe care OpenVPN o trimite la partenerii săi nu va depăși acest număr de biți. (Implicit este 1450)</string>
+ <string name="mssfix_checkbox">Suprascrie valoarea MSS a datelor utile TCP</string>
+ <string name="mssfix_dialogtitle">Setați MSS a datelor utile TCP</string>
+ <string name="client_behaviour">Comportamentul clientului</string>
+ <string name="clear_external_apps">Ștergeți aplicațiile externe permise</string>
+ <string name="loading">Se încarcă&#8230;</string>
+ <string name="allowed_vpn_apps_info">Aplicaţii VPN permise: %1$s</string>
+ <string name="disallowed_vpn_apps_info">Aplicaţii VPN nepermise: %1$s</string>
+ <string name="app_no_longer_exists">Pachetul %s nu mai este instalat, eliminați-l din lista de acces / dezactivare a aplicației</string>
+ <string name="vpn_disallow_radio">VPN este utilizat pentru toate aplicațiile, cu excepția celor selectate</string>
+ <string name="vpn_allow_radio">VPN este utilizat numai pentru aplicațiile selectate</string>
+ <string name="query_delete_remote">Eliminați serverul la distanță?</string>
+ <string name="keep">Păstrează</string>
+ <string name="delete">Şterge</string>
+ <string name="add_remote">Adăugați distanță nouă</string>
+ <string name="remote_random">Utilizați intrări de conectare în ordine aleatorie la conectare</string>
+ <string name="remote_no_server_selected">Trebuie să definiți și să activați cel puțin un server de la distanță.</string>
+ <string name="server_list">Listă de Servere</string>
+ <string name="vpn_allowed_apps">Aplicații Permise</string>
+ <string name="advanced_settings">Setări Avansate</string>
+ <string name="payload_options">Opțiuni de încărcare</string>
+ <string name="tls_settings">Setări TLS</string>
+ <string name="no_remote_defined">Nici o sursă la distanţă definită</string>
+ <string name="duplicate_vpn">Profil VPN duplicat</string>
+ <string name="duplicate_profile_title">Duplicând profilul: %s</string>
+ <string name="show_log">Arată jurnal</string>
+ <string name="faq_android_clients">Există mai mulți clienți OpenVPN pentru Android. Cele mai frecvente sunt OpenVPN pentru Android (acest client), OpenVPN Connect și OpenVPN Settings.&lt;p&gt;Clientii pot fi grupați în două grupuri: OpenVPN pentru Android și OpenVPN Connect utilizează API-ul oficial VPNService (Android 4.0+) și nu necesită root și OpenVPN Settings care utilizează root.&lt;p&gt;OpenVPN pentru Android sunt un client open source și este dezvoltat de Arne Schwabe. Este destinat utilizatorilor mai avansați și oferă multe setări și posibilitatea de a importa profiluri din fișiere și de a configura / schimba profiluri în interiorul aplicației. Clientul se bazează pe versiunea comunității OpenVPN. Se bazează pe codul sursă OpenVPN 2.x. Acest client poate fi văzut ca client semi-oficial al comunității. &lt;p&gt;OpenVPN Connect este un client non-open source care este dezvoltat de OpenVPN Technologies, Inc. Clientul este gândit să fie client de uz general și orientat mai mult spre utilizatorul mediu și permite importul de profile OpenVPN. Acest client se bazează pe reimplementarea OpenVPN C++ a protocolului OpenVPN (aceasta a fost necesară pentru a permite OpenVPN Technologies, Inc. să publice o aplicație iOS OpenVPN). Acest client este clientul oficial al tehnologiilor OpenVPN &lt;p&gt; OpenVPN Settings este cel mai vechi dintre clienți și, de asemenea, o interfață utilizator pentru OpenVPN open source. Spre deosebire de OpenVPN pentru Android, aceasta necesită root și nu utilizează API-ul VPNService. Nu depinde de Android 4.0+</string>
+ <string name="faq_androids_clients_title">Diferențele dintre clienții OpenVPN Android</string>
+ <string name="ignore_multicast_route">Ignorarea rutei multicast: %s</string>
+ <string name="ab_only_cidr">Android acceptă doar rute CIDR către VPN. Din moment ce rutele non-CIDR nu sunt aproape niciodată folosite, OpenVPN pentru Android va folosi o /32 pentru rute care nu sunt CIDR și emite un avertisment.</string>
+ <string name="ab_tethering_44">Funcția tethering funcționează în timp ce VPN-ul este activ. Conexiunea legată NU va utiliza VPN-ul.</string>
+ <string name="ab_kitkat_mss">Primele versiuni KitKat setao o valoare MSS greșită pe conexiunile TCP (#61948). Încercați să activați opțiunea mssfix pentru a rezolva această eroare.</string>
+ <string name="ab_proxy">Android va continua să utilizeze setările proxy specificate pentru conexiunea mobilă/Wi-Fi atunci când nu sunt setate servere DNS. OpenVPN pentru Android vă va avertiza despre acest lucru în fișierul log.<p>Când VPN stabilește un server DNS, Android nu va utiliza un proxy. Nu există niciun API pentru a seta un proxy pentru o conexiune VPN.</p></string>
+ <string name="ab_lollipop_reinstall">Aplicațiile VPN pot să nu mai funcționeze când sunt dezinstalate și reinstalate din nou. Pentru detalii, a se vedea #80074</string>
+ <string name="ab_not_route_to_vpn">IP-ul client configurat și IP-urile din masca sa de rețea nu sunt direcționate către VPN. OpenVPN funcționează în jurul acestui bug prin adăugarea explicită a unui traseu care corespunde IP-ului client și netmask-ului său</string>
+ <string name="ab_persist_tun">Deschiderea unui dispozitiv tun în timp ce un alt dispozitiv tun este activ, care este utilizat pentru suportul tun persistent, blochează serviciile VPN de pe dispozitiv. Este necesară o repornire pentru ca VPN să funcționeze din nou. OpenVPN pentru Android încearcă să evite redeschiderea dispozitivului tun și, dacă este necesar, mai întâi închide TUN-ul curent înainte de a deschide noul dispozitiv TUN pentru a evita accidentarea. Acest lucru poate duce la o fereastră scurtă în care pachetele sunt trimise prin conexiunea non-VPN. Chiar și cu această soluție, VPNServices se blochează uneori și necesită repornirea dispozitivului.</string>
+ <string name="ab_secondary_users">VPN nu funcționează deloc pentru utilizatorii secundari.</string>
+ <string name="ab_kitkat_reconnect">"Mai mulți utilizatori raportează că conexiunea mobilă/conexiunea de date mobilă se deconectează des în timp ce utilizați aplicația VPN. Comportamentul pare să afecteze numai o combinație de furnizori/dispozitive mobile și până în prezent nu a putut fi identificată nici o cauză/soluție pentru acest bug."</string>
+ <string name="ab_vpn_reachability_44">Numai destinația poate fi atinsă prin VPN care poate fi accesată fără VPN. Porturile IPv6 VPN nu funcționează deloc.</string>
+ <string name="ab_only_cidr_title">Rute non-CIDR</string>
+ <string name="ab_proxy_title">Comportamentul proxy pentru VPN-uri</string>
+ <string name="ab_lollipop_reinstall_title">Reinstalarea aplicațiilor VPN</string>
+ <string name="version_upto">%s sau mai puțin</string>
+ <string name="copy_of_profile">Copie a %s</string>
+ <string name="ab_not_route_to_vpn_title">Rutează prin adresa IP configurată</string>
+ <string name="ab_kitkat_mss_title">Valoare MSS greșită pentru conexiunea VPN</string>
+ <string name="ab_secondary_users_title">Utilizatori de tablete secundari</string>
+ <string name="custom_connection_options_warng">Specificați opțiunile specifice conexiunii personalizate. Folosiți cu grijă</string>
+ <string name="custom_connection_options">Opţiunile Particularizate</string>
+ <string name="remove_connection_entry">Ștergeți conexiunea</string>
+ <string name="ab_kitkat_reconnect_title">Se deconectează aleatoriu de la rețeaua mobilă</string>
+ <string name="ab_vpn_reachability_44_title">Rețelele la distanță nu sunt accesibile</string>
+ <string name="ab_persist_tun_title">Păstrați modul tun</string>
+ <string name="version_and_later">%s şi mai târziu</string>
+ <string name="tls_cipher_alert_title">Conexiunile eșuează cu SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure</string>
+ <string name="tls_cipher_alert">Noile versiuni OpenVPN pentru Android (0.6.29 / martie 2015) utilizează o setare implicită mai sigură pentru suitele de cifruri permise (codul \"DEFAULT:!EXP:!PSK:!SRP:!KRSA\"). Din nefericire, omiterea suitelor de cifruri mai puțin sigure și a suitelor de cifruri de export, în special omiterea suitelor de cifru care nu acceptă Perfect Forward Secrecy (Diffie-Hellman) crează unele probleme. Acest lucru este cauzat, de obicei, de o încercare bine intenționată, dar prost executată, de a consolida securitatea TLS prin setarea tls-cipher pe server sau pe anumite sisteme embedded cu SSL (de ex. MikroTik).\nPentru a rezolva această problemă, setați tls-chipher settings de pe server la implicit ca TLS-cipher \"DEFAULT:!EXP:!PSK:!SRP:!KRSA\". Pentru a rezolva problema pe client, adăugați opțiunea personalizată tls-cipher DEFAULT pe clientul Android.</string>
+ <string name="message_no_user_edit">Acest profil a fost adăugat dintr-o aplicație externă (%s) și a fost marcat ca nemodificabil de utilizator.</string>
+ <string name="crl_file">Lista de revocare a certificatelor</string>
+ <string name="service_restarted">Repornirea serviciului OpenVPN (aplicația s-a blocat probabil a blocat sau terminat pentru presiunea de memorie)</string>
+ <string name="import_config_error">Importarea configurației a dat o eroare, nu se poate salva</string>
+ <string name="Search">Căutare</string>
+ <string name="lastdumpdate">(Ultimul dump este %1$d:%2$dh old (%3$s))</string>
+ <string name="clear_log_on_connect">Ştergeți log-uri la conexiune nouă</string>
+ <string name="connect_timeout">Timp de expirare a conexiunii</string>
+ <string name="no_allowed_app">Nu a fost adăugată nicio aplicație permisă. Adăugându-ne (%s) să aibă cel puțin o aplicație în lista de aplicații permise pentru a nu permite tuturor aplicațiilor</string>
+ <string name="query_permissions_sdcard">OpenVPN pentru Android poate încerca să găsească automat fișierele lipsă pe cardul sdcard. Apăsați acest mesaj să porniți cererea de permisiune.</string>
+ <string name="protocol">Protocol</string>
+ <string name="enabled_connection_entry">Activat</string>
+ <string name="abi_mismatch">Precedența ABI-ului nativ preferat a acestui dispozitiv (%1$s) și ABI-ul raportat de bibliotecile native (%2$s) diferă</string>
+ <string name="permission_revoked">Permisiunea VPN revocată de sistemul de operare (de exemplu, a pornit un alt program VPN), se oprește VPN</string>
+ <string name="pushpeerinfo">Pasați informații de la Peer</string>
+ <string name="pushpeerinfosummary">Trimiteți informații suplimentare serverului, de exemplu, versiunea SSL și versiunea Android</string>
+ <string name="pw_request_dialog_title">Aveți nevoie de %1$s</string>
+ <string name="pw_request_dialog_prompt">Introduceți parola pentru profilul %1$s</string>
+ <string name="menu_use_inline_data">Utilizați date inline</string>
+ <string name="export_config_chooser_title">Exportați fișierul de configurare</string>
+ <string name="missing_tlsauth">Fișierul tls-auth lipsește</string>
+ <string name="missing_certificates">Lipsește certificatul de utilizator sau fișierul certificat cheie</string>
+ <string name="missing_ca_certificate">Certificatul CA lipsește</string>
+ <string name="crl_title">Lista de certificate revocate (opțional)</string>
+ <string name="reread_log">Recitesc (%d) elemente de log din fișierul de cache log</string>
+ <string name="samsung_broken">Chiar dacă telefoanele Samsung sunt printre cele mai vândute telefoane Android, firmware-ul Samsung este, de asemenea, printre cele mai pline de bug-uri firmware-uri Android. Bugurile nu se limitează la operațiunile VPN pe aceste dispozitive, dar multe dintre ele pot fi rezolvate. În continuare sunt descrise unele dintre aceste erori. \n\nDNS-ul nu funcționează decât dacă serverul DNS din gama VPN. \n\nPe multe dispozitive Samsung 5.x, funcția permis/nepermis a aplicațiilor nu funcționează. \nPe Samsung 6.x VPN-ul este raportat că nu funcționează decât dacă aplicația VPN este exceptată de la caracteristicile Powersave.</string>
+ <string name="samsung_broken_title">Telefoanele Samsung</string>
+ <string name="novpn_selected">Niciun VPN selectat.</string>
+ <string name="defaultvpn">VPN prestabilit</string>
+ <string name="defaultvpnsummary">VPN utilizat în locurile unde este necesară o rețea VPN implicită. Acestea sunt în prezent la pornire, pentru Always-On și placa Quick Settings.</string>
+ <string name="vpnselected">VPN selectat în prezent: \'%s\'</string>
+ <string name="reconnect">Reconectaţi</string>
+ <string name="qs_title">Comutare VPN</string>
+ <string name="qs_connect">Conectați-vă la %s</string>
+ <string name="qs_disconnect">Deconectați %s</string>
+ <string name="connectretrymaxmessage">Introduceți timpul maxim între încercările de conectare. OpenVPN va crește lent timpul de așteptare după o încercare de conexiune nereușită până la această valoare. Valoarea implicită este de 300 secunde.</string>
+ <string name="connectretrymaxtitle">Durata maximă între încercările de conectare</string>
+ <string name="state_waitconnectretry">Se așteaptă %s secunde până la următoarea conectare</string>
+ <string name="nought_alwayson_warning"><![CDATA[Dacă nu ați primit un dialog de confirmare VPN, aveți activată \"Always on VPN\" pentru o altă aplicație. În acest caz, numai acelei aplicații i se permite să se conecteze la o rețea VPN. Verificați din Setări-> Rețele mai .. -> VPNS]]></string>
+ <string name="management_socket_closed">Conexiunea la OpenVPN a fost închisă (%s)</string>
+ <string name="change_sorting">Modificați sortarea</string>
+ <string name="sort">Sortare</string>
+ <string name="sorted_lru">Profiluri ordonate după ultima utilizare recentă</string>
+ <string name="sorted_az">Profiluri sortate după nume</string>
+ <string name="deprecated_tls_remote">Config utilizează opțiunea tls-remote, care a fost depreciată în 2.3 și, în final, eliminată în 2.4</string>
+ <string name="auth_failed_behaviour">Comportament pentru AUTH_FAILED</string>
+ <string name="graph">Grafic</string>
+ <string name="use_logarithmic_scale">Utilizați scala logaritmică</string>
+ <string name="notenoughdata">Nu există date suficiente</string>
+ <string name="avghour">Media pe oră</string>
+ <string name="avgmin">Media pe minut</string>
+ <string name="last5minutes">Ultimele 5 minute</string>
+ <string name="data_in">Intrare</string>
+ <string name="data_out">Ieșire</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-ru/arrays.xml b/main/src/main/res/values-ru/arrays.xml
index 00f17674..2ca0d954 100755
--- a/main/src/main/res/values-ru/arrays.xml
+++ b/main/src/main/res/values-ru/arrays.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
@@ -13,8 +17,14 @@
<item>Логин/пароль + сертификат Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Не указан</item>
+ <item>Шифрование (--tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Отключиться, забыть пароль</item>
+ <item>Отключиться, сохранить пароль</item>
+ <item>Игнорировать, повторить</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-ru/plurals.xml b/main/src/main/res/values-ru/plurals.xml
new file mode 100755
index 00000000..fc40574a
--- /dev/null
+++ b/main/src/main/res/values-ru/plurals.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Остался %d месяц</item>
+ <item quantity="few">Осталось %d месяца</item>
+ <item quantity="other">Осталось %d месяцев</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Остался %d день</item>
+ <item quantity="few">Осталось %d дня</item>
+ <item quantity="other">Осталось %d дней</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Остался %d час</item>
+ <item quantity="few">Осталось %d часа</item>
+ <item quantity="other">Осталось %d часов</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Осталась %d минута</item>
+ <item quantity="few">Осталось %d минуты</item>
+ <item quantity="other">Осталось %d минут</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-ru/strings.xml b/main/src/main/res/values-ru/strings.xml
index c28b0160..6e414dfa 100755
--- a/main/src/main/res/values-ru/strings.xml
+++ b/main/src/main/res/values-ru/strings.xml
@@ -17,10 +17,10 @@
<string name="client_no_certificate">Нет сертификата</string>
<string name="client_certificate_title">Сертификат клиента</string>
<string name="client_key_title">Ключ сертификата клиента</string>
- <string name="client_pkcs12_title">PKCS12 файл</string>
- <string name="ca_title">CA сертификат</string>
- <string name="no_certificate">Вам необходимо выбрать сертификат</string>
- <string name="copyright_guicode">Исходники и информация о версиях находятся по адресу http://code.google.com/p/ics-openvpn/</string>
+ <string name="client_pkcs12_title">Файл PKCS12</string>
+ <string name="ca_title">Сертификат ЦС</string>
+ <string name="no_certificate">Необходимо выбрать сертификат</string>
+ <string name="copyright_guicode">Исходный код и отслеживание проблем доступны на https://github.com/schwabe/ics-openvpn/</string>
<string name="copyright_others">Данная программа использует следующие компоненты; смотрите исходный код для получения подробной информации о лицензии</string>
<string name="about">О программе</string>
<string name="vpn_list_title">Профили</string>
@@ -30,44 +30,45 @@
<string name="file_nothing_selected">Вы должны выбрать файл</string>
<string name="useTLSAuth">Использовать аутентификацию TLS</string>
<string name="tls_direction">Направление проверки TLS</string>
- <string name="ipv6_dialog_tile">Введите адрес/маску подсети IPv6 в формате CIDR (например 2000:dd::23/64)</string>
- <string name="ipv4_dialog_title">Введите адрес/маску подсети IPv4 в формате CIDR (например 1.2.3.4/24)</string>
+ <string name="ipv6_dialog_tile">Введите адрес/маску подсети IPv6 в формате CIDR (например, 2000:dd::23/64)</string>
+ <string name="ipv4_dialog_title">Введите адрес/маску подсети IPv4 в формате CIDR (например, 1.2.3.4/24)</string>
<string name="ipv4_address">Адрес IPv4</string>
<string name="ipv6_address">Адрес IPv6</string>
<string name="custom_option_warning">Введите дополнительные параметры OpenVPN. Используйте эту возможность с большой осторожностью. Если вы считаете, что отсутствует важный параметр, свяжитесь с автором</string>
<string name="auth_username">Имя пользователя</string>
<string name="auth_pwquery">Пароль</string>
<string name="static_keys_info">Для конфигурации с статичными сертификатами будут использоваться ключи TLS</string>
- <string name="configure_the_vpn">Настройка VPN-туннеля</string>
+ <string name="configure_the_vpn">Настройка VPN</string>
<string name="menu_add_profile">Добавить конфигурацию</string>
<string name="add_profile_name_prompt">Введите название новой конфигурации</string>
<string name="duplicate_profile_name">Пожалуйста, введите уникальное название конфигурации</string>
<string name="profilename">Название конфигурации</string>
<string name="no_keystore_cert_selected">Необходимо выбрать сертификат пользователя</string>
+ <string name="no_ca_cert_selected">Необходимо выбрать сертификат ЦС</string>
<string name="no_error_found">Ошибок не найдено</string>
<string name="config_error_found">Ошибка в конфигурации</string>
<string name="ipv4_format_error">Невозможно распознать IPv4 адрес</string>
<string name="custom_route_format_error">Невозможно распознать пользовательские маршруты</string>
<string name="pw_query_hint">(оставьте пустым для запроса по требованию)</string>
<string name="vpn_shortcut">Ярлык OpenVPN</string>
- <string name="vpn_launch_title">Подключиться к VPN</string>
+ <string name="vpn_launch_title">Подключение к VPN&#8230;</string>
<string name="shortcut_profile_notfound">Не найден профиль, указанный в ярлыке</string>
<string name="random_host_prefix">Случайный префикс узла</string>
<string name="random_host_summary">Добавляет 6 случайных символов перед именем хоста</string>
<string name="custom_config_title">Включить пользовательские параметры</string>
<string name="custom_config_summary">Пользовательские параметры. Используйте с осторожностью!</string>
- <string name="route_rejected">Маршрут отвергнут Android</string>
- <string name="cancel_connection">Отключение</string>
+ <string name="route_rejected">Маршрут отклонен Android</string>
+ <string name="cancel_connection">Отключить</string>
<string name="cancel_connection_long">Отключить VPN</string>
<string name="clear_log">очистить журнал</string>
<string name="title_cancel">Подтверждение отмены</string>
- <string name="cancel_connection_query">Отключение активных VPN/Отмена попыток подключения?</string>
+ <string name="cancel_connection_query">Отключить активный VPN/отменить попытку подключения?</string>
<string name="remove_vpn">Удалить VPN</string>
- <string name="check_remote_tlscert">Проверяет, использует ли сервер сертификаты TLS (--remote-cert-tls server)</string>
- <string name="check_remote_tlscert_title">Ожидать TLS сертификат от сервера</string>
+ <string name="check_remote_tlscert">Проверяет, использует ли сервер сертификат с серверными расширениями TLS (--remote-cert-tls server)</string>
+ <string name="check_remote_tlscert_title">Ожидать серверный сертификат TLS</string>
<string name="remote_tlscn_check_summary">Проверка DN объекта удаленного сертификата</string>
<string name="remote_tlscn_check_title">Проверка имени хоста сертификата</string>
- <string name="enter_tlscn_dialog">Переключатель способа проверки DN сертификата (e.g. C=DE, L=Paderborn, OU=Avian IP Carriers, CN=openvpn.blinkt.de)\n\nВозможные значения: полный DN, RDN (для примера openvpn.blinkt.de) или только преффикс RDN для проверки.\n\nПри использовании преффикса RDN, например \"Server\", значения будут \"Server-1\", \"Server-2\" и т.д.\n\nПри пустом текстовом поле проверка будет проводиться по имени хоста.\n\nДля подробностей смотрите руководство для OpenVPN 2.3.1+, раздел —verify-x509-name</string>
+ <string name="enter_tlscn_dialog">Введите значение для проверки DN удалённого сертификата (например, C=DE, L=Paderborn, OU=Avian IP Carriers, CN=openvpn.blinkt.de)\n\nВозможные значения: полный DN или RDN (в примере выше openvpn.blinkt.de) или только префикс RDN для проверки.\n\nПри использовании префикса RDN, «Server» подойдёт для «Server-1» и «Server-2»\n\nПри пустом текстовом поле будет проверяться, что RDN совпадает с именем узла.\n\nПодробности смотрите в руководстве OpenVPN 2.3.1+, раздел --verify-x509-name</string>
<string name="enter_tlscn_title">Объект удаленного сертификата</string>
<string name="tls_key_auth">Включить аутентификацию по TLS ключу</string>
<string name="tls_auth_file">Файл аутентификации TLS</string>
@@ -85,17 +86,17 @@
<string name="ignored_pushed_routes">Игнорировать посылаемые маршруты</string>
<string name="ignore_routes_summary">Игнорировать маршруты, посылаемые сервером.</string>
<string name="default_route_summary">Перенаправляет весь трафик через VPN</string>
- <string name="use_default_title">Использовать маршрут по-умолчанию</string>
+ <string name="use_default_title">Использовать маршрут по умолчанию</string>
<string name="custom_route_message">Введите пользовательские маршруты. Только введите адрес назначения в формате CIDR. \"10.0.0.0/8 2002::/16\" будет использовано для 10.0.0.0/8 и 2002::/16 сетей через VPN.</string>
- <string name="custom_route_message_excluded">Маршруты которые не следует направлять через VPN. Используйте тот-же синтаксис как и в случае с другими маршрутами.</string>
+ <string name="custom_route_message_excluded">Маршруты, которые не следует направлять через VPN. Используйте тот же синтаксис, как и в случае с другими маршрутами.</string>
<string name="custom_routes_title">Пользовательские маршруты</string>
<string name="custom_routes_title_excluded">Исключенные сети</string>
- <string name="log_verbosity_level">Уровень детализации лога</string>
- <string name="float_summary">Разрешить пакеты аутентификации с любого IP-адреса</string>
- <string name="float_title">Разрешать \"плавающие\" сервера</string>
+ <string name="log_verbosity_level">Уровень детализации журнала</string>
+ <string name="float_summary">Разрешить аутентифицированные пакеты с любого IP-адреса</string>
+ <string name="float_title">Разрешить «плавающий» сервер</string>
<string name="custom_options_title">Пользовательские параметры</string>
<string name="edit_vpn">Редактирование параметров VPN</string>
- <string name="remove_vpn_query">Удалить VPN профиль %s?</string>
+ <string name="remove_vpn_query">Удалить профиль VPN «%s»?</string>
<string name="tun_error_helpful">На некоторых кастомных сборках права на /dev/tun могут быть неверными или tun-модуль может быть не включен. Для прошивки CM9 можете попробовать исправить владельца прямо из настроек программы</string>
<string name="tun_open_error">Не удается открыть tun интерфейс</string>
<string name="error">"Ошибка: "</string>
@@ -114,77 +115,77 @@
<string name="send_logfile">Отправить файл журнала</string>
<string name="send">Отправить</string>
<string name="ics_openvpn_log_file">ICS OpenVPN лог файл</string>
- <string name="copied_entry">Скопировать лог в буфер обмена</string>
+ <string name="copied_entry">Запись журнала скопирована в буфер обмена</string>
<string name="tap_mode">Режим TAP</string>
<string name="faq_tap_mode">Режим TAP невозможен на устройствах без root-а. Поэтому это приложение не поддерживает TAP</string>
<string name="tap_faq2">Снова? Вы издеваетесь? Не поддерживается режим TAP и просьбы к автору об этом не помогут ему реализоваться.</string>
<string name="tap_faq3">Третий раз? На самом деле можно было бы писать эмулятор tap, основанные на tun, который бы добавлял информацию 2 уровня при отправке и извлекал бы ее при получении. Но этот эмулятор потребует также ARP и, возможно, клиента DHCP. Я не знаю никого, кто мог бы этим заняться. Свяжитесь со мной, если вы хотите заняться этим.</string>
<string name="faq">Вопросы и ответы</string>
- <string name="copying_log_entries">Копирование записей лога</string>
- <string name="faq_copying">Для копирования одного элемента журнала необходимо нажать и удерживать. Для копирования/передачи всего файла журнала используйте опцию \"Отправить файл журнала\". Используйте hardware кнопку меню, если вы не в графическом интерфейсе.</string>
+ <string name="copying_log_entries">Копирование записей журнала</string>
+ <string name="faq_copying">Для копирования одной записи журнала необходимо нажать на неё и удерживать. Чтобы скопировать/отправить весь файл журнала, используйте опцию «Отправить файл журнала». Если она скрыта, используйте аппаратную кнопку меню.</string>
<string name="faq_shortcut">Ярлык для запуска</string>
<string name="faq_howto_shortcut">Вы можете создать ярлык для запуска OpenVPN на рабочем столе. В зависимости от вашего окружения необходимо добавить ярлык или виджет.</string>
<string name="no_vpn_support_image">Ваша прошивка не поддерживает VPNService API, извините :(</string>
<string name="encryption">Шифрование</string>
<string name="cipher_dialog_title">Укажите метод шифрования</string>
- <string name="chipher_dialog_message">Укажите алгоритм шифрования, используемый OpenVPN. Оставьте пустым, чтобы использовать шифрование по-умолчанию.</string>
- <string name="auth_dialog_message">Введите дайджест аутентификацию используемую в OpenVPN. Оставьте пустым для использования значения по-умолчанию.</string>
- <string name="settings_auth">Авторизация/шифрование</string>
+ <string name="chipher_dialog_message">Укажите алгоритм шифрования, используемый OpenVPN. Оставьте пустым, чтобы использовать шифрование по умолчанию.</string>
+ <string name="auth_dialog_message">Введите хеш-функцию для аутентификации в OpenVPN. Оставьте пустым для использования значения по умолчанию.</string>
+ <string name="settings_auth">Аутентификация/шифрование</string>
<string name="file_explorer_tab">Обзор файлов</string>
<string name="inline_file_tab">Встроенный файл</string>
<string name="error_importing_file">Ошибка при импорте файла</string>
<string name="import_error_message">Не удалось импортировать файл из файловой системы</string>
<string name="inline_file_data">[[Встроенный файл данных]]</string>
<string name="opentun_no_ipaddr">Отказ в открытии устройства tun без информации об IP-адресе</string>
- <string name="menu_import">Импорта конфигурации из файла .ovpn</string>
+ <string name="menu_import">Импорт конфигурации из файла .ovpn</string>
<string name="menu_import_short">Импорт</string>
<string name="import_content_resolve_error">Не удалось прочитать конфигурацию для импорта</string>
<string name="error_reading_config_file">Ошибка чтения файла конфигурации</string>
<string name="add_profile">добавить конфигурацию</string>
<string name="import_could_not_open">Не удалось найти файл %1$s, указанный в файле конфигурации</string>
<string name="importing_config">Импорт файла конфигурации из исходного %1$s</string>
- <string name="import_warning_custom_options">Ваша конфигурация имел несколько параметров, которые не входят в параметры стандартной конфигурации. Эти параметры были вынесены в пользовательскую конфигурацию. Пользовательская конфигурация отображается ниже:</string>
+ <string name="import_warning_custom_options">Ваша конфигурация имела несколько параметров, которые не входят в параметры стандартной конфигурации. Эти параметры были вынесены в пользовательскую конфигурацию. Пользовательская конфигурация отображается ниже:</string>
<string name="import_done">Файл конфигурации успешно прочитан.</string>
<string name="nobind_summary">Не привязываться к локальному адресу и порту</string>
<string name="no_bind">Не использовать привязки</string>
<string name="import_configuration_file">Импорт файла конфигурации</string>
<string name="faq_security_title">Соображения безопасности</string>
- <string name="faq_security">"Так как OpenVPN чувствителен к безопасности, то будут разумными несколько замечаний относительно защиты. Все данные на sd карте по сути не защищены. Каждое приложение может прочесть их (например эта программа не требует специальных привилегий на sd карту). Данные этого приложения могут быть прочитаны только им самим. При использовании опции импорта для cacert/cert/key в диалоговом окне файл, данные сохраняются в VPN профиле. VPN профили доступны только этому приложению. (Потом не забудьте удалить копии на sd карте). Несмотря на то, что данные доступны только этому приложению, они все еще незашифрованы. Путем получения прав администратора (рута) на телефоне или другими эксплойтами возможно извлечь данные. Также сохраненные пароли хранятся в обычном текстовом виде. Настоятельно рекомендуется pkcs12 файлы импортировать в android keystore."</string>
+ <string name="faq_security">"Так как OpenVPN чувствителен к безопасности, то уместны будут несколько замечаний на её счёт. Все данные на SD-карте по сути не защищены. Каждое приложение может прочесть их (например, эта программа не требует специальных привилегий на SD-карту). Данные этого приложения могут быть прочитаны только им самим. При использовании опции импорта сертификатов и ключей в диалоговом окне данные сохраняются в профиле VPN. Профили VPN доступны только этому приложению. (Не забудьте потом удалить копии на SD-карте). Несмотря на то, что данные доступны только этому приложению, они всё ещё не зашифрованы. При наличии прав администратора (рута) на телефоне или через некую уязвимость эти данные можно извлечь. Также сохранённые пароли хранятся в обычном текстовом виде. Настоятельно рекомендуется файлы pkcs12 импортировать в android keystore."</string>
<string name="import_vpn">Импорт</string>
<string name="broken_image_cert_title">Ошибка вывода выбранного сертификата</string>
- <string name="broken_image_cert">Произошла ошибка при попытке вызова системного диалога выбора сертификатов Android 4.0+ Этого не должно было случиться на стандартной прошивке. Может быть в вашей прошивке испорчено хранилище сертификатов</string>
+ <string name="broken_image_cert">Произошла ошибка при попытке вызова системного диалога выбора сертификатов Android 4.0+. Этого не должно было случиться на стандартной прошивке. Может быть в вашей прошивке испорчено хранилище сертификатов</string>
<string name="ipv4">IPv4</string>
<string name="ipv6">IPv6</string>
<string name="speed_waiting">Ожидание сообщения о состоянии&#8230;</string>
<string name="converted_profile">импортируемый профиль</string>
<string name="converted_profile_i">импортируемый профиль %d</string>
<string name="broken_images">Сломанные прошивки</string>
- <string name="broken_images_faq">&lt;p&gt;Извествно, что официальные прошивки HTC имеют странные проблемы с маршрутизацией, приводящей к тому, что трафик не идёт через туннель (см. &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt; в баг-трекере).&lt;/p&gt;&lt;p&gt;Также сообщалось, что в старых официальных прошивках SONY от Xperia Arc S и Xperia Ray полностью отсутствует сервис VPNService (см. &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt; в баг-трекере).&lt;/p&gt;&lt;p&gt;В некоторых встроенных прошивках модуль tun может отсутствовать или иметь неправильные права на файл устройства /dev/tun. Некоторые CM9 прошивки могут требовать исправлений опции прав в главных настройках.&lt;/p&gt;&lt;p&gt;И самое главное: Если у вас прошивка с указанными проблемами, сообщите об этом производителю устройства. Чем больше пользователей сообщит о проблеме, тем больше шансов, что этот производитель исправит прошивку.&lt;/p&gt;</string>
+ <string name="broken_images_faq">&lt;p&gt;Известно, что официальные прошивки HTC имеют странные проблемы с маршрутизацией, приводящей к тому, что трафик не идёт через туннель (см. &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/18\"&gt;Issue 18&lt;/a&gt; в баг-трекере).&lt;/p&gt;&lt;p&gt;Также сообщалось, что в старых официальных прошивках SONY от Xperia Arc S и Xperia Ray полностью отсутствует сервис VPNService (см. &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/29\"&gt;Issue 29&lt;/a&gt; в баг-трекере).&lt;/p&gt;&lt;p&gt;В некоторых неофициальных прошивках модуль tun может отсутствовать, или файл устройства /dev/tun может иметь неправильные права. Некоторые прошивки CM9 могут требовать исправления прав на /dev/tun в настройках «Хаки для данного устройства».&lt;/p&gt;&lt;p&gt;И самое главное: если у вас прошивка с указанными проблемами, сообщите об этом производителю устройства. Чем больше пользователей сообщит о проблеме, тем больше шансов, что производитель её исправит.&lt;/p&gt;</string>
<string name="pkcs12_file_encryption_key">Файл PKCS12-ключа</string>
<string name="private_key_password">Пароль закрытого ключа</string>
<string name="password">Пароль</string>
<string name="file_icon">файл значка</string>
- <string name="tls_authentication">TLS-аутентификация</string>
+ <string name="tls_authentication">Аутентификация/шифрование TLS</string>
<string name="generated_config">Сгенерированая конфигурация</string>
<string name="generalsettings">Настройки</string>
<string name="owner_fix_summary">Попытаться изменить владельца для /dev/tun. Некоторые прошивки CM9 требуют этого для корректной работы API OpenVPN. Требуется root.</string>
<string name="owner_fix">Исправить права для /dev/tun</string>
<string name="generated_config_summary">Показать сгенерированный файл конфигурации OpenVPN</string>
- <string name="edit_profile_title">Правка \"%s\"</string>
+ <string name="edit_profile_title">Правка «%s»</string>
<string name="building_configration">Создание конфигурации&#8230;</string>
- <string name="netchange_summary">Включение этого параметра заставит переподключаться, если состояние интернет соединения (WIFI) изменится</string>
+ <string name="netchange_summary">Переподключаться, если изменяется состояние сети (например, при переключении с Wi-Fi на мобильную и наоборот)</string>
<string name="netchange">Переподключение при изменении сети</string>
<string name="netstatus">Статус сети: %s</string>
- <string name="extracahint">Сертификат CA обычно возвращается из хранилища Android Keystore. Укажите отдельный сертификат, если у вас возникли ошибки при проверке сертификата.</string>
+ <string name="extracahint">Сертификат ЦС обычно хранится в Android Keystore. Укажите отдельный сертификат, если у вас возникли ошибки при проверке сертификата.</string>
<string name="select_file">Выбрать</string>
- <string name="keychain_nocacert">Не удалось получить CA из хранилища ключей Android. Аутентификация не удалась.</string>
- <string name="show_log_summary">Показывает окно журнала при подключении. Окно журнала всегда может быть доступно из панели уведомлений.</string>
+ <string name="keychain_nocacert">Не удалось получить сертификат ЦС из хранилища ключей Android. Вероятно, аутентификация завершится ошибкой.</string>
+ <string name="show_log_summary">Показывает окно журнала при подключении. Окно журнала всегда доступно из панели уведомлений.</string>
<string name="show_log_window">Показать окно журнала</string>
<string name="mobile_info">%10$s %9$s работает на %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Ошибка подписи с использованием ключа из хранилища Android %1$s: %2$s</string>
- <string name="faq_system_dialogs">Предупреждение VPN соединения сообщает вам, что это приложение может перехватывать весь сетевой трафик, и сообщается системой предупреждений VPNService API.\nИзвещение о VPN соединении (символ \"Ключа\") также формируется системой Android для сигнализации исходящего VPN соединения. В некоторых прошивках это оповещение сопровождается сигналом.\nAndroid использует эти оповещения для вашей собственной безопасности и из нельзя обойти. (К сожалению, на некоторых прошивках также издается оповещение звуком)</string>
+ <string name="faq_system_dialogs">Предупреждение VPN соединения, говорящее, что это приложение может перехватывать весь сетевой трафик, показывается системой для предотвращения злоупотребления API VPNService.\nУведомление о VPN соединении (символ ключа) также формируется системой Android для сигнализации исходящего VPN соединения. В некоторых прошивках это уведомление сопровождается звуком.\nAndroid использует эти системные уведомления для вашей же собственной безопасности и их нельзя обойти. (К сожалению, на некоторых прошивках это относится и к звуку уведомления)</string>
<string name="faq_system_dialogs_title">Сообщение о подключении и звук уведомления</string>
- <string name="translationby">Русский перевод от RusFox &lt;horonitel@gmail.com&gt;</string>
+ <string name="translationby">Русский перевод от RusFox &lt;horonitel@gmail.com&gt; и многих других</string>
<string name="ipdns">IP-адрес и DNS</string>
<string name="basic">Основные</string>
<string name="routing">Маршрутизация</string>
@@ -192,40 +193,39 @@
<string name="advanced">Расширенные</string>
<string name="export_config_title">ICS Openvpn конфигурация</string>
<string name="warn_no_dns">Серверы DNS не используются. Разрешение имен может не работать. Рассмотрите возможность установки пользовательских DNS-серверов. Также обратите внимание, что Android будет продолжать использовать параметры, указанные для вашего мобильного/Wi-Fi соединения, если не указаны DNS-серверы.</string>
- <string name="dns_add_error">Не удалось добавить DNS-сервер \"%1$s\", отклонен системой: %2$s</string>
- <string name="ip_add_error">Не удалось настроить IP-адрес \"%1$s\", сообщение системы: %2$s</string>
- <string name="faq_howto">&lt;p&gt;Используйте готовую конфигурацию (протестированную на вашем компьютере или полученную от вашего провайдера)&lt;/p&gt;&lt;p&gt;Если это простой файл без pem/pks12 вы можете отправить его по email на свое устройство. Если же это несколько файлов, вы можете использовать их со своей карты памяти.&lt;/p&gt;&lt;p&gt;Просто кликните на .conf файл или выберите его с помощью меню в программе для импорта конфигурации&lt;/p&gt;&lt;p&gt;Если программа выдаст ошибку о нехватке некоторых файлов, просто поместите эти файлы на карту памяти&lt;/p&gt;&lt;p&gt;Нажмите кнопку сохранения для добавления импортируемой конфигурации в программу&lt;/p&gt;&lt;p&gt;Запустите ваш VPN-тоннель нажав на его название в списке&lt;/p&gt;&lt;p&gt;Если при запуске возникли ошибки попробуйте разобраться и устранить их.&lt;/p&gt; </string>
+ <string name="dns_add_error">Не удалось добавить DNS-сервер «%1$s», отклонён системой: %2$s</string>
+ <string name="ip_add_error">Не удалось настроить IP-адрес «%1$s», отклонён системой: %2$s</string>
+ <string name="faq_howto">&lt;p&gt;Используйте готовую конфигурацию (протестированную на вашем компьютере или полученную от вашего провайдера)&lt;/p&gt;&lt;p&gt;Если это простой файл без pem/pkcs12, вы можете отправить его как вложение по электронной почте на своё устройство. Если же файлов несколько, вы можете использовать их со своей карты памяти.&lt;/p&gt;&lt;p&gt;Просто откройте .conf файл или выберите его в диалоге импорта (значок папки в списке профилей)&lt;/p&gt;&lt;p&gt;Если программа выдаст ошибку о нехватке некоторых файлов, просто поместите эти файлы на карту памяти.&lt;/p&gt;&lt;p&gt;Нажмите кнопку сохранения для добавления импортируемой конфигурации в программу&lt;/p&gt;&lt;p&gt;Запустите ваш VPN-тоннель, нажав на его название в списке&lt;/p&gt;&lt;p&gt;Если при запуске возникли ошибки, попробуйте разобраться и устранить их.&lt;/p&gt; </string>
<string name="faq_howto_title">Быстрый старт</string>
- <string name="setting_loadtun_summary">Попробуйте загрузить модуль ядра tun.ko прежде чем пытаться подключиться. Требуется root-доступ на устройстве.</string>
+ <string name="setting_loadtun_summary">Попробуйте загрузить модуль ядра tun.ko, прежде чем пытаться подключиться. Требуется root-доступ на устройстве.</string>
<string name="setting_loadtun">Загрузить tun-модуль</string>
<string name="importpkcs12fromconfig">Импорт PKCS12 из хранилища ключей Android</string>
<string name="getproxy_error">Ошибка при получении параметров прокси-сервера: %s</string>
<string name="using_proxy">Используется прокси-сервер %1$s %2$d</string>
<string name="use_system_proxy">Использовать прокси-сервер системы</string>
<string name="use_system_proxy_summary">Использовать системную конфигурацию прокси HTTP/HTTPS для соединения.</string>
- <string name="donatewithpaypal">Вы можете &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;пожертвовать с PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN будет переподключаться, если он был активен в момент выключения/перезагрузки. Пожалуйста, прочтите FAQ перед тем, как использовать эту настройку.</string>
- <string name="onbootrestart">Переподключение после перезагрузки</string>
+ <string name="onbootrestartsummary">OpenVPN будет подключаться к указанному VPN, если он был активен при загрузке системы. Пожалуйста, прочитайте FAQ о предупреждении при подключении перед тем, как использовать эту опцию на Android &lt; 5.0.</string>
+ <string name="onbootrestart">Подключение при загрузке</string>
<string name="ignore">Игнорировать</string>
<string name="restart">Перезапуск</string>
<string name="restart_vpn_after_change">Изменения конфигурации применяются после перезапуска VPN. (Пере)запустить VPN сейчас?</string>
<string name="configuration_changed">Конфигурация изменена</string>
<string name="log_no_last_vpn">Не удалось определить последний используемый профиль для редактирования</string>
<string name="faq_duplicate_notification_title">Дублирующиеся уведомления</string>
- <string name="faq_duplicate_notification">Если в Android возникает нехватка оперативной памяти (RAM), ненужные службы и приложения останавливаются. Из-за этого прерывается установленное VPN-соединение. Чтобы избежать этого, приложение нужно запускать с повышенным приоритетом. Для запуска с высоким приоритетом приложение должно вывести предупреждение. Основная иконка приложения будет закреплена наверху панели уведомлений самой системой, как описано в предыдущем вопросе. Она не является собственно уведомлением, это ограничение распространяется на все приложения, запущенные с высоким приоритетом.</string>
+ <string name="faq_duplicate_notification">Если в Android возникает нехватка оперативной памяти (RAM), ненужные службы и приложения останавливаются. Из-за этого прерывается установленное VPN-соединение. Чтобы избежать этого, приложение нужно запускать с повышенным приоритетом. Для запуска с высоким приоритетом приложение должно вывести уведомление. Значок ключа показывается наверху панели уведомлений самой системой, как описано в предыдущем вопросе. Он не считается тем уведомлением, которое приложению нужно для запуска с высоким приоритетом.</string>
<string name="no_vpn_profiles_defined">Профили VPN не указаны.</string>
- <string name="add_new_vpn_hint">Используйте &lt;img src=\"ic_menu_add\"/&gt; иконку для добавления нового VPN</string>
- <string name="vpn_import_hint">Используйте &lt;img src=\"ic_menu_archive\"/&gt; кнопку для импорта существующих профилей (.ovpn or .conf) с вашей карты памяти.</string>
- <string name="faq_hint">Не забудьте заглянуть в FAQ. Также имеется краткое руководство.</string>
+ <string name="add_new_vpn_hint">Используйте значок &lt;img src=\"ic_menu_add\"/&gt; для добавления нового VPN</string>
+ <string name="vpn_import_hint">Используйте кнопку &lt;img src=\"ic_menu_archive\"/&gt; для импорта существующих профилей (.ovpn или .conf) с карты памяти.</string>
+ <string name="faq_hint">Не забудьте заглянуть в FAQ. Там есть краткое руководство.</string>
<string name="faq_routing_title">Конфигурация маршрутизации/интерфейса</string>
<string name="faq_routing">Конфигурация маршрутизации и интерфейса производится не через традиционные ifconfig/route команды, а с помощью VPNService API. Это приводит к созданию другой конфигурации маршрутизации, отличной от конфигураций, используемых на других ОС. Конфигурация VPN-туннеля состоит из IP-адресов и сетей, которые должны направляться через этот интерфейс. Никаких особых партнерских адресов или адресов шлюза не требуется. Также не требуются и специальные маршруты для соединения с VPN-сервером (например, добавленные при использовании redirect-gateway). Следовательно, приложение будет игнорировать эти параметры при импорте конфигурации. Приложение с помощью VPNService API гарантирует, что подключение к серверу не направляется через VPN-туннель. Поддерживается направление через туннель только определенных сетей. Приложение пытается определить сети, которые не должны быть направлены через туннель (например, маршрут x.x.x.x y.y.y.y net_gateway) и вычисляет список маршрутов, в который не включаются эти маршруты, чтобы эмулировать поведение других платформ. Окна журналов и логов показывают конфигурацию сервиса VPN после установления соединения.</string>
- <string name="persisttun_summary">Не открывать диалог, когда происходит переподключение VPN.</string>
- <string name="persistent_tun_title">Постоянный tun</string>
- <string name="openvpn_log">OpenVPN Журнал</string>
+ <string name="persisttun_summary">Не использовать обычное соединение без VPN при переподключении OpenVPN.</string>
+ <string name="persistent_tun_title">Постоянный туннель</string>
+ <string name="openvpn_log">Журнал OpenVPN</string>
<string name="import_config">Импорт конфигурации OpenVPN</string>
<string name="battery_consumption_title">Потребление батареи</string>
- <string name="baterry_consumption">В моих тестах, главным источником высокого потребления электроэнергии батареи были keepalive пакеты. Большинство OpenVPN-серверов содержат директиву вроде \'keepalive 10 60\', которая отправляет keepalive-пакет с клиента на сервер и с сервера на клиент каждые 10 секунд. &lt;p&gt; Хоть эти пакеты и маленькие и не расходуют много трафика, они заставляют радиомодуль потреблять много энергии. (см. &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;) &lt;p&gt; Настройки keepalive не могут быть изменены на клиенте, это может сделать только системный администратор OpenVPN.lt;pgt; К сожалению, использование keepalive более, чем 60 секунд с UDP, может вносить проблемы с некоторыми типами NAT, которые удаляют информацию о соединении через короткое время (в моем случае, это было 60 секунд). Использование TCP с большим keepalive-таймаутом будет работать, но производительность туннелирования TCP через TCP в сетях с высокой вероятностью потери пакета крайне низкая (см. &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Why TCP Over TCP Is A Bad Idea&lt;/a&gt;).</string>
- <string name="faq_tethering">Тетеринг функция Android (через WiFi, USB или Bluetooth) и VPNService API (используемое этой программой) не работают вместе. Подробней в &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=34\"&gt;проблеме №34&lt;/a&gt;</string>
+ <string name="baterry_consumption">В моих тестах главным источником высокого потребления электроэнергии батареи были пакеты keepalive. Большинство OpenVPN-серверов содержат директиву вроде «keepalive 10 60», которая заставляет клиент и сервер обмениваться keepalive-пакетами каждые 10 секунд. &lt;p&gt; Хоть эти пакеты и маленькие, и не расходуют много трафика, они заставляют радиомодуль всё время работать, что повышает расход энергии. (см. &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;) &lt;p&gt; Настройки keepalive не могут быть изменены на клиенте, это может сделать только системный администратор OpenVPN. &lt;p&gt; К сожалению, использование keepalive более, чем 60 секунд с UDP, может привести к тому, что некоторые шлюзы NAT будут обрывать соединение из-за отсутствия активности. Использование TCP с большим keepalive-таймаутом будет работать, но производительность туннелирования TCP через TCP в сетях с высокими потерями пакетов крайне низкая (см. &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;Why TCP Over TCP Is A Bad Idea&lt;/a&gt;)</string>
+ <string name="faq_tethering">Функция тетеринга Android (через WiFi, USB или Bluetooth) и VPNService API (используемое этой программой) не работают вместе. Подробней в &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/34\"&gt;проблеме №34&lt;/a&gt;</string>
<string name="vpn_tethering_title">VPN и Tethering</string>
<string name="connection_retries">Попытки подключения</string>
<string name="reconnection_settings">Параметры переподключения</string>
@@ -252,7 +252,7 @@
<string name="state_tcp_connect">Подключение (TCP)</string>
<string name="state_auth_failed">Ошибка аутентификации</string>
<string name="state_nonetwork">Ожидание работы сети</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Разъединено</string>
<string name="start_vpn_title">Подключение к VPN %s</string>
<string name="start_vpn_ticker">Подключение к VPN %s</string>
@@ -268,7 +268,7 @@
<string name="add">Добавить</string>
<string name="send_config">Отправить конфигурационный файл</string>
<string name="complete_dn">Полное DN</string>
- <string name="remotetlsnote">Импортированнаяе конфигурация использует устаревшую опцию tls-remote которая имеет другой формат DN.</string>
+ <string name="remotetlsnote">Импортированная конфигурация использует УСТАРЕВШУЮ опцию tls-remote, которая имеет другой формат DN.</string>
<string name="rdn">RDN (полное имя)</string>
<string name="rdn_prefix">Префикс RDN</string>
<string name="tls_remote_deprecated">tls-remote (УСТАРЕВШЕЕ)</string>
@@ -277,25 +277,25 @@
<string name="remote_warning">Продолжая, вы даете приложению права на управление \"OpenVPN для Android\" и перехват всего сетевого трафика. <b> Не продолжайте, если не доверяете полностью этому приложению. </b> В противном случае вы рискуете утечкой и использованием ваших данных злоумышленниками.</string>
<string name="remote_trust">Я доверяю этому приложению.</string>
<string name="no_external_app_allowed">Нет приложений, авторизованных для внешнего API</string>
- <string name="allowed_apps">Авторизованные приложения: %s</string>
+ <string name="allowed_apps">Разрешённые приложения: %s</string>
<string name="clearappsdialog">Очистить список авторизованных внешних приложений?\nСписок разрешенных приложений:\n\n%s</string>
- <string name="screenoff_summary">VPN-соединение приостанавливается, если экран выключен или объем данных меньше 64kb за 60сек. Если включена опция \"Удержание соединения\", VPN-соединение будет постоянно активным. Без этого параметра оно будет приостанавливаться при этих условиях..</string>
+ <string name="screenoff_summary">Приостанавливать VPN, если экран выключен и передано меньше 64kb данных за 60 сек. Когда включена опция \"Постоянный туннель\", приостановка VPN оставит ваше устройство без сетевого подключения. Без опции \"Постоянный туннель\" устройство не будет иметь VPN-соединения/защиты.</string>
<string name="screenoff_title">Приостановить VPN-соединение при выключенном экране</string>
<string name="screenoff_pause">Приостановка соединения при выключенном экране: меньше, чем %1$s in %2$ss</string>
- <string name="screen_nopersistenttun">Внимание: постоянный tun не включен для этого VPN. Трафик будет проходить через обычный доступ в Интернет, когда экран выключен.</string>
+ <string name="screen_nopersistenttun">Внимание: Постоянный туннель не включен для этого VPN. Трафик будет использовать обычное интернет соединение, когда экран выключен.</string>
<string name="save_password">Сохранить пароль</string>
<string name="pauseVPN">Приостановить VPN</string>
<string name="resumevpn">Продолжить VPN</string>
<string name="state_userpause">VPN приостановлен по запросу пользователя</string>
<string name="state_screenoff">VPN приостановлен - выкл. экран</string>
- <string name="device_specific">Хак для данного устройства</string>
+ <string name="device_specific">Хаки для данного устройства</string>
<string name="cannotparsecert">Не удается отобразить сведения о сертификате</string>
<string name="appbehaviour">Поведение приложения</string>
<string name="vpnbehaviour">Поведение VPN</string>
- <string name="allow_vpn_changes">Разрешить изменение VPN-профилей</string>
+ <string name="allow_vpn_changes">Разрешить изменение профилей VPN</string>
<string name="hwkeychain">Аппаратное хранилище ключей:</string>
<string name="permission_icon_app">Иконка приложения пытается использовать OpenVPN для Android</string>
- <string name="faq_vpndialog43">«Начиная с Android 4.3, диалог подтверждения VPN-соединения защищен от приложений, \"накладывающихся поверх экрана». Это приводит к тому, что диалоговое окно подтверждения не реагирует на сенсорные нажатия. Если у вас имеется приложение, использующее наложения, то это может вызвать такое поведение. Если вы обнаружите где-либо такое приложение, свяжитесь с автором приложения. Эта проблема затрагивает все VPN приложения на Android 4.3 и более поздних версиях. Смотрите также &lt; a href = \"http://code.google.com/p/ics-openvpn/issues/detail?id=185\" &gt; Проблему 185 &lt; &gt; для получения дополнительных сведений»</string>
+ <string name="faq_vpndialog43">"Начиная с Android 4.3, диалог подтверждения VPN-соединения защищён от приложений, «накладывающихся поверх экрана». Это приводит к тому, что диалоговое окно подтверждения не реагирует на сенсорные нажатия. Если вам попадётся приложение, использующее наложения и вызывающее такое поведение, свяжитесь с автором этого приложения. Эта проблема затрагивает все VPN приложения на Android 4.3 и более поздних версиях. Смотрите также &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Issue 185&lt;a&gt; для получения дополнительных сведений"</string>
<string name="faq_vpndialog43_title">Окно подтверждения VPN для Android 4.3 и позже</string>
<string name="donatePlayStore">Также Вы можете выразить благодарность в виде пожертвования на Play Store:</string>
<string name="thanks_for_donation">Спасибо за пожертвование %s!</string>
@@ -309,29 +309,30 @@
<string name="uploaded_data">Выгружено</string>
<string name="downloaded_data">Загружено</string>
<string name="vpn_status">Статус VPN</string>
- <string name="logview_options">Посмотреть настройки</string>
- <string name="unhandled_exception">Неопознання ошибка: %1$s\n\n%2$s</string>
+ <string name="logview_options">Настройки вида</string>
+ <string name="unhandled_exception">Неопознанная ошибка: %1$s\n\n%2$s</string>
<string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
- <string name="faq_system_dialog_xposed">Если на Вашем устройстве установлены Рут права, Вы можете установить &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; и &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;модуль автоматического подтверждения диалога подключения VPN&lt;/a&gt; на свой страх и риск</string>
+ <string name="faq_system_dialog_xposed">Если на вашем устройстве есть root, можете установить &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; и &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;модуль автоматического подтверждения диалога подключения VPN&lt;/a&gt; на свой страх и риск</string>
<string name="full_licenses">Полные тексты лицензий</string>
- <string name="blocklocal_summary">Сети напрямую доступные через локальный интерфейс не будут маршрутизированы через VPN. Отключите эту опцию чтобы направить трафик через VPN.</string>
+ <string name="blocklocal_summary">Сети, доступные напрямую через локальный интерфейс, не будут маршрутизированы через VPN. Отключите эту опцию, чтобы направить трафик через VPN.</string>
<string name="blocklocal_title">Не использовать VPN для локальных адресов</string>
<string name="userpw_file">Файл логина и пароля</string>
<string name="imported_from_file">[Импортировано из: %s]</string>
<string name="files_missing_hint">Некоторые файлы не найдены. Выберите файлы для импорта в профиль:</string>
- <string name="openvpn_is_no_free_vpn">Для использования данного приложения Вам необходим VPN провайдер/шлюз поддерживающий OpenVPN. Для получения информации по настройке собственного OpenVPN сервера: http://community.openvpn.net/</string>
+ <string name="openvpn_is_no_free_vpn">Для использования данного приложения необходим провайдер/шлюз VPN, поддерживающий OpenVPN (часто предоставляется работодателем). На http://community.openvpn.net/ можно найти информацию про OpenVPN и как настроить собственный сервер OpenVPN.</string>
<string name="import_log">Лог импорта:</string>
- <string name="ip_looks_like_subnet">VPN топологии «%3$s» указан но ifconfig %1$s %2$s выглядит больше как IP-адрес с маской сети. Если топология «подсеть».</string>
+ <string name="ip_looks_like_subnet">Указана топология VPN «%3$s», но ifconfig %1$s %2$s больше похоже на IP-адрес с маской сети. Используется топология «подсеть».</string>
<string name="mssfix_invalid_value">Значение, перезаписывающее MSS, должно быть целым числом от 0 до 9000</string>
- <string name="mssfix_value_dialog">Объявить TCP сессиям, работающим через туннель, что они должны ограниччить размер своих пакетов так, чтобы после их инкапсуляции OpenVPN, результирующий размер UDP пакета, который OpenVPN посылает своим пирам, не превышал это число байт. (1450 по умолчанию)</string>
- <string name="mssfix_checkbox">Переписать значение MSS для TCP нагрузки</string>
- <string name="mssfix_dialogtitle">Задать MSS для TCP нагрузки</string>
- <string name="client_behaviour">Поведение клиента-программы</string>
+ <string name="mtu_invalid_value">Значение, переопределяющее MTU, должно быть целым числом от 64 до 9000</string>
+ <string name="mssfix_value_dialog">Объявить TCP сессиям, работающим через туннель, что они должны ограничить размер своих пакетов так, чтобы после их инкапсуляции OpenVPN результирующий размер UDP-пакета, который OpenVPN посылает своим пирам, не превышал это число байт. (1450 по умолчанию)</string>
+ <string name="mssfix_checkbox">Переопределить MSS для нагрузки TCP</string>
+ <string name="mssfix_dialogtitle">Задать MSS для нагрузки TCP</string>
+ <string name="client_behaviour">Поведение клиента</string>
<string name="clear_external_apps">Очистить разрешенные внешние приложения</string>
<string name="loading">Загружается&#8230;</string>
- <string name="allowed_vpn_apps_info">Разрешенные VPN приложения: %1$s</string>
- <string name="disallowed_vpn_apps_info">Запрещенные VPN приложения: %1$s</string>
- <string name="app_no_longer_exists">Пакет %s больше не установлен, происходит его удаление из списка разрешенных/запрещенных приложений</string>
+ <string name="allowed_vpn_apps_info">Разрешённые приложения VPN: %1$s</string>
+ <string name="disallowed_vpn_apps_info">Запрещённые приложения VPN: %1$s</string>
+ <string name="app_no_longer_exists">Пакет %s больше не установлен, он удаляется из списка разрешённых/запрещённых приложений</string>
<string name="vpn_disallow_radio">Использовать VPN для всех приложений, кроме выбранных</string>
<string name="vpn_allow_radio">Использовать VPN только для выбранных приложений</string>
<string name="query_delete_remote">Убрать запись удаленного сервера?</string>
@@ -339,53 +340,106 @@
<string name="delete">Удалить</string>
<string name="add_remote">Добавить новую удаленку</string>
<string name="remote_random">Использовать список подключений в случайном порядке при соединении</string>
- <string name="remote_no_server_selected">Вы должны определить и включить как минумум один удаленный сервер.</string>
+ <string name="remote_no_server_selected">Вы должны определить и включить как минимум один удаленный сервер.</string>
<string name="server_list">Список серверов</string>
- <string name="vpn_allowed_apps">Разрешенные Приложения</string>
+ <string name="vpn_allowed_apps">Разрешённые приложения</string>
<string name="advanced_settings">Расширенные настройки</string>
- <string name="payload_options">Опции нагрузки</string>
+ <string name="payload_options">Настройки полезной нагрузки</string>
<string name="tls_settings">Настройки TLS</string>
<string name="no_remote_defined">Нет заданной удаленки</string>
- <string name="duplicate_vpn">Дублировать VPN профиль</string>
+ <string name="duplicate_vpn">Дублировать профиль VPN</string>
<string name="duplicate_profile_title">Дублирование профиля: %s</string>
<string name="show_log">Показать журнал</string>
- <string name="faq_android_clients">Существуют различные OpenVPN клиенты для Android. Самые распространенные - OpenVPN for Android (этот клиент), OpenVPN Connect и OpenVPN Settings.&lt;p&gt;Клиенты можно разделить на две группы: OpenVPN for Android и OpenVPN Connect используют официальный VPNService API (Android 4.0+) и не трубуют root-доступ, и OpenVPN Settings, который требует root.&lt;p&gt;OpenVPN for Android - клиент с открытым исходным кодом, который разработал Arne Schwabe. Он предназначен для более опытных пользователей и предоставляет много настроек и возможность испорта профилей из файлов и настраивать/изменять профили внутри приложения. Этот клиент основан на общественной версии OpenVPN. На исходном коде OpenVPN 2.x. Этот клиент может быть представлен как полуофициальный клиент сообщества. &lt;p&gt;OpenVPN Connect - клиент с закрытым исходным кодом, который разработан OpenVPN Technologies, Inc. Он призван для обычного использования и предназначен для средних пользователей, и позволяет импортировать профили из OpenVPN. Этот клиент основан на OpenVPN C++ и написал с использванием протокола OpenVPN (Это требовалось для разрешения OpenVPN Technologies, Inc опубликовать приложение OpenVPN на iOS). Этот клиент - официальный клиент OpenVPN technologies &lt;p&gt; OpenVPN Settings - старейший из клиентов, а также UI для OpenVPN с открытым исходным кодом. В отличие от OpenVPN for Android, он требует root-прав и не использует VPNService API. Он не зависит от Android 4.0+</string>
- <string name="faq_androids_clients_title">Различия между OpenVPN Android клиентами</string>
+ <string name="faq_android_clients">Существуют различные клиенты OpenVPN для Android. Самые распространённые — OpenVPN для Android (этот клиент), OpenVPN Connect и OpenVPN Settings.&lt;p&gt;Клиенты можно разделить на две группы: OpenVPN для Android и OpenVPN Connect используют официальный VPNService API (Android 4.0+) и не требуют root-доступ, и OpenVPN Settings, который требует root.&lt;p&gt;OpenVPN для Android — клиент с открытым исходным кодом, который разработал Arne Schwabe. Он предназначен для более опытных пользователей и предоставляет много настроек, возможность импорта профилей из файлов и настраивать/изменять профили внутри приложения. Этот клиент основан на общественной версии OpenVPN. А именно на исходном коде OpenVPN 2.x. Этот клиент можно представить как полуофициальный клиент сообщества. &lt;p&gt;OpenVPN Connect — клиент с закрытым исходным кодом, который разрабатывается OpenVPN Technologies, Inc. Он призван для обычного использования и предназначен для простых пользователей, и позволяет импортировать профили из OpenVPN. Этот клиент основан на OpenVPN C++, другой реализации протокола OpenVPN (Это потребовалось OpenVPN Technologies, Inc, чтобы опубликовать приложение OpenVPN на iOS). Этот клиент — официальный клиент OpenVPN technologies &lt;p&gt; OpenVPN Settings — старейший из клиентов, он также UI для OpenVPN с открытым исходным кодом. В отличие от OpenVPN для Android, он требует root-прав и не использует VPNService API. Он не зависит от Android 4.0+</string>
+ <string name="faq_androids_clients_title">Различия между клиентами OpenVPN для Android</string>
<string name="ignore_multicast_route">Игнорируется мультиадресный маршрут: %s</string>
- <string name="ab_only_cidr">Android поддерживет только CIDR маршруты к VPN. Поскольку не CIDR маршруты почти никогда не используются, OpenVPN for Android будет использовать /32 для не CIDR маршрутов и выдавать предупреждение.</string>
+ <string name="ab_only_cidr">Android поддерживает только CIDR маршруты к VPN. Поскольку не CIDR маршруты почти никогда не используются, OpenVPN для Android будет использовать /32 для не CIDR маршрутов и выдавать предупреждение.</string>
<string name="ab_tethering_44">Тетеринг/раздача интернета работает, когда активен VPN. Модемное соединение (тетеринг) НЕ БУДЕТ использовать VPN.</string>
- <string name="ab_kitkat_mss">Ранние версии KitKat устанавливают неверное значение MSS для TCP соединений (#61948). OpenVPN for Android автоматически включает опцию mssfix, чтобы обойти этот баг.</string>
+ <string name="ab_kitkat_mss">Ранние версии KitKat устанавливают неверное значение MSS для TCP соединений (#61948). Попробуйте включить опцию mssfix, чтобы обойти этот баг.</string>
<string name="ab_proxy">Android будет продолжать использовать ваши настройки прокси, указанные для мобильного/Wi-Fi соединения, когда не установлен DNS сервер. OpenVPN for Android предупредит вас об этом в журнале.<p>Когда VPN устанавливает DNS сервер Android не использует прокси. Для установки прокси для VPN соединения нет API.</p></string>
- <string name="ab_lollipop_reinstall">VPN приложения могут перестать работать после удаления и повторной установки. Подробности см. #80074</string>
- <string name="ab_not_route_to_vpn">IP сконфигурированного клиента и IPs в его сетевой маске немаршрутизированны к VPN. OpenVPN обходит этот баг, явно добавляя маршрут, который соответствует клиентскому IP и его сетевой маске</string>
- <string name="ab_persist_tun">Открытие туннеля, когда туннель уже активен, для его постоянного удержания, может привести к ошибке и VPNServices закроется на устройстве. Для возобновления работы VPN требуется перезагрузка. OpenVPN for Android пытается избежать установки второго туннеля, и если действительно нужно - сначала закрывает текущий туннель, перед открытием нового, чтобы избежать краха программы. Это может привести к маленькому интервалу, в котором передача пакетов происходит по обычному (не VPN) соединению. Даже с этими ухищрениями VPNServices иногда крашится и требует перезагрузки устройства.</string>
+ <string name="ab_lollipop_reinstall">Приложения VPN могут перестать работать после удаления и повторной установки. Подробности см. #80074</string>
+ <string name="ab_not_route_to_vpn">Сконфигурированный IP-адрес клиента и IP-адреса в его подсети (согласно сетевой маске) не направляются через VPN. OpenVPN обходит этот баг, явно добавляя маршрут, который соответствует клиентскому IP и его сетевой маске</string>
+ <string name="ab_persist_tun">Открытие туннеля, когда туннель уже активен, для его постоянного удержания, может привести к ошибке и VPNServices закроется на устройстве. Для возобновления работы VPN требуется перезагрузка. OpenVPN для Android пытается избежать установки второго туннеля, и если действительно нужно - сначала закрывает текущий туннель, перед открытием нового, чтобы избежать краха программы. Это может привести к маленькому интервалу, в котором передача пакетов происходит по обычному (не VPN) соединению. Даже с этими ухищрениями VPNServices иногда крашится и требует перезагрузки устройства.</string>
<string name="ab_secondary_users">VPN не работает совсем для вторичных пользователей.</string>
- <string name="ab_kitkat_reconnect">"Различные пользователи сообщают, что мобильная связь/мобильная передача данных часто обрывается, когда используется VPN приложение. Такое поведение, кажется, затрагивает только некторые комбинации провайдеров/устройств, и пока что не выявлена причина/нет обхода этого бага."</string>
+ <string name="ab_kitkat_reconnect">"Различные пользователи сообщают, что мобильная связь/мобильная передача данных часто обрывается, когда используется VPN приложение. Такое поведение, кажется, затрагивает только некоторые комбинации провайдеров/устройств, и пока что не выявлена причина/нет обхода этого бага."</string>
<string name="ab_vpn_reachability_44">Адреса могут работать через VPN только те, которые доступны без VPN. IPv6 VPN не работают вообще.</string>
<string name="ab_only_cidr_title">Не CIDR маршруты</string>
<string name="ab_proxy_title">Поведение прокси для VPN</string>
- <string name="ab_lollipop_reinstall_title">Переустанавливаются приложения VPN</string>
+ <string name="ab_lollipop_reinstall_title">Переустановка приложений VPN</string>
<string name="version_upto">%s и ранее</string>
<string name="copy_of_profile">Копия %s</string>
- <string name="ab_not_route_to_vpn_title">Маршрутизация к установленному IP адресу</string>
+ <string name="ab_not_route_to_vpn_title">Маршрут для установленного IP-адреса</string>
<string name="ab_kitkat_mss_title">Неверное значение MSS для VPN соединения</string>
<string name="ab_secondary_users_title">Дополнительные пользователи устройства</string>
<string name="custom_connection_options_warng">Укажите особые пользовательские параметры подключения. Используйте с осторожностью</string>
- <string name="custom_connection_options">Пользовательские Параметры</string>
+ <string name="custom_connection_options">Пользовательские параметры</string>
<string name="remove_connection_entry">Удалить запись подключения</string>
- <string name="ab_kitkat_reconnect_title">Случайные разъединения от мобильной сети</string>
+ <string name="ab_kitkat_reconnect_title">Случайные отключения от мобильной сети</string>
<string name="ab_vpn_reachability_44_title">Удаленные сети недоступны</string>
<string name="ab_persist_tun_title">Принудительный режим tun</string>
<string name="version_and_later">%s и выше</string>
<string name="tls_cipher_alert_title">Неудачное соединение с SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure</string>
- <string name="tls_cipher_alert">Новые версии OpenVPN для Android (0.6.29/Март 2015) используют более безопасные настройки по умолчанию для разрешенных наборов шифров (tls-шифрование \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). К сожалению, прекращение использования менее безопасных наборов шифров и экспортирование наборов шифров, а особенно прекращение использования наборов шифров, которые не поддерживают Perfect Forward Secrecy (Diffie-Hellman), приводит к возникновению некоторых проблем. Обычно это происходит из-за изначально полезной, но плохо реализованной попытки усиления безопасности TLS путем установки tls-шифрования на сервере или некоторых встроенных ОС с урезанным SSL (например, MikroTik).\nЧтобы решить эту проблему, установите настройки tls-шифрования на сервере на разумные по умолчанию, такие как tls-шифрование \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\". Чтобы обойти проблему на клиенте, добавьте отдельную настройку tls-шифрования tls-cipher DEFAULT в Android-клиент.</string>
+ <string name="tls_cipher_alert">Новые версии OpenVPN для Android (0.6.29/Март 2015) используют более безопасные настройки по умолчанию для разрешённых наборов шифров (tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). К сожалению, прекращение использования менее безопасных и экспортных наборов шифров, а особенно тех наборов шифров, которые не поддерживают Perfect Forward Secrecy (Diffie-Hellman), приводит к некоторым проблемам. Обычно это происходит из-за благонамеренной, но плохо реализованной попытки усиления безопасности TLS путём установки tls-cipher на сервере или некоторых встроенных ОС с урезанным SSL (например, MikroTik).\nЧтобы решить эту проблему, установите настройки tls-cipher на сервере на разумные по умолчанию, такие как tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\". Чтобы обойти проблему на клиенте, добавьте отдельную настройку tls-cipher DEFAULT в Android-клиент.</string>
+ <string name="message_no_user_edit">Данный профиль был добавлен из внешнего приложения (%s) и был отмечен как непригодный к редактированию пользователями.</string>
+ <string name="crl_file">Список отозванных сертификатов</string>
+ <string name="service_restarted">Перезапуск сервиса OpenVPN (Приложение, вероятно, упало или было закрыто из-за нехватки памяти)</string>
+ <string name="import_config_error">Импортирование конфигурации привело к ошибке, невозможно сохранить изменения</string>
<string name="Search">Поиск</string>
<string name="lastdumpdate">(Последний дамп создан %1$d ч. и %2$d м. назад (%3$s))</string>
<string name="clear_log_on_connect">Очищать журнал при новом соединении</string>
<string name="connect_timeout">Время ожидания соединения</string>
+ <string name="no_allowed_app">Не добавлено разрешенных приложений. Добавляем себя (%s), чтобы в списке разрешенных приложений было хотя бы одно приложение, иначе все приложения добавятся в список разрешенных</string>
+ <string name="query_permissions_sdcard">OpenVPN для Android может попытаться найти отсутствующие файлы на SD-карте автоматически. Нажмите на это сообщение, чтобы получить запрос на разрешение.</string>
<string name="protocol">Протокол</string>
<string name="enabled_connection_entry">Включено</string>
- <string name="months_left">%d мес. осталось</string>
- <string name="days_left">%d д. осталось</string>
- <string name="hours_left">%d ч. осталось</string>
+ <string name="abi_mismatch">Preferred native ABI precedence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
+ <string name="permission_revoked">Разрешение VPN отозвано ОС (например, запущена другая программа VPN), останавливаем VPN</string>
+ <string name="pushpeerinfo">Отправить информацию об участнике</string>
+ <string name="pushpeerinfosummary">Отправить дополнительную информацию на сервер, например, версию SSL и версию Android</string>
+ <string name="pw_request_dialog_title">Требуется %1$s</string>
+ <string name="pw_request_dialog_prompt">Пожалуйста, введите пароль для профиля %1$s</string>
+ <string name="menu_use_inline_data">Использовать встроенные данные</string>
+ <string name="export_config_chooser_title">Экспорт файла конфигурации</string>
+ <string name="missing_tlsauth">файл tls-auth отсутствует</string>
+ <string name="missing_certificates">Отсутствует сертификат пользователя или файл ключа сертификата пользователя</string>
+ <string name="missing_ca_certificate">Отсутствует сертификат ЦС</string>
+ <string name="crl_title">Список отозванных сертификатов (опционально)</string>
+ <string name="reread_log">Перечитать (%d) элементов лога из файла кэша лога</string>
+ <string name="samsung_broken">Даже несмотря на то, что телефоны Samsung являются одними из наиболее продаваемых телефонов на Android, прошивки Samsung также являются и наиболее проблемными прошивками на Android. Ошибки не ограничиваются только работой VPN на этих устройствах, но многие из них можно обойти. Далее описаны некоторые из этих ошибок.\n\nDNS не работает, если сервер DNS не в диапазоне VPN.\n\nНа многих устройствах Samsung 5.x функция разрешённых/запрещённых приложений не работает.\nНа Samsung 6.x, как сообщается, VPN не работает, пока приложению VPN не разрешено не экономить заряд батареи.</string>
+ <string name="samsung_broken_title">Телефоны Samsung</string>
+ <string name="novpn_selected">Не выбрано VPN.</string>
+ <string name="defaultvpn">VPN по умолчанию</string>
+ <string name="defaultvpnsummary">VPN, который будет использоваться по умолчанию, когда это необходимо. А именно, при загрузке, для «Постоянной VPN» и для переключателя в «Быстрых настройках».</string>
+ <string name="vpnselected">В настоящее время выбран VPN: \'%s\'</string>
+ <string name="reconnect">Переподключить</string>
+ <string name="qs_title">Переключение VPN</string>
+ <string name="qs_connect">Подключиться к %s</string>
+ <string name="qs_disconnect">Отключиться от %s</string>
+ <string name="connectretrymaxmessage">Введите максимальное время между попытками соединения. OpenVPN будет медленно поднимать свое время ожидания после неудачной попытки подключения до этого значения. По умолчанию 300 сек.</string>
+ <string name="connectretrymaxtitle">Максимальное время между попытками соединения</string>
+ <string name="state_waitconnectretry">Ожидание %ss секунд между попыткой подключения</string>
+ <string name="nought_alwayson_warning"><![CDATA[Если диалог подтверждения VPN не открылся, то у вас выбрано другое приложение в «Постоянная VPN». Это значит, что только данному приложению разрешено подключаться к VPN. Проверьте Настройки -> (Сети) Ещё -> VPN]]></string>
+ <string name="management_socket_closed">Подключение к OpenVPN закрыто (%s)</string>
+ <string name="change_sorting">Изменить сортировку</string>
+ <string name="sort">Сортировать</string>
+ <string name="sorted_lru">Профили отсортированы по порядку последнего использования</string>
+ <string name="sorted_az">Профили отсортированы по названию</string>
+ <string name="deprecated_tls_remote">Файл настройки использует опцию tls-remote, которая была объявлена устаревшей в версии 2.3 и окончательно удалена в версии 2.4</string>
+ <string name="auth_failed_behaviour">Поведение при AUTH_FAILED</string>
+ <string name="graph">График</string>
+ <string name="use_logarithmic_scale">Использовать логарифмическую шкалу</string>
+ <string name="notenoughdata">Недостаточно данных</string>
+ <string name="avghour">В среднем за час</string>
+ <string name="avgmin">В среднем за минуту</string>
+ <string name="last5minutes">Последние 5 минут</string>
+ <string name="data_in">Входящий</string>
+ <string name="data_out">Исходящий</string>
+ <string name="bits_per_second">%.0f бит/с</string>
+ <string name="kbits_per_second">%.1f Кбит/с</string>
+ <string name="mbits_per_second">%.1f Мбит/с</string>
+ <string name="gbits_per_second">%.1f Гбит/с</string>
+ <string name="volume_byte">%.0f Б</string>
+ <string name="volume_kbyte">%.1f КБ</string>
+ <string name="volume_mbyte">%.1f МБ</string>
+ <string name="volume_gbyte">%.1f ГБ</string>
</resources>
diff --git a/main/src/main/res/values-sl/arrays.xml b/main/src/main/res/values-sl/arrays.xml
index 3d258045..27e76916 100755
--- a/main/src/main/res/values-sl/arrays.xml
+++ b/main/src/main/res/values-sl/arrays.xml
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>Potrdila</item>
<item>Datoteka PKCS12</item>
@@ -12,8 +17,14 @@
<item>Uporabniško ime/geslo + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Nedoločeno</item>
+ <item>Šifriranje (tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Prekini povezavo, pozabi geslo</item>
+ <item>Prekini povezavo, shrani geslo</item>
+ <item>Prezri, poskusi znova</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-sl/plurals.xml b/main/src/main/res/values-sl/plurals.xml
new file mode 100755
index 00000000..a5975083
--- /dev/null
+++ b/main/src/main/res/values-sl/plurals.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Preostal je še en mesec</item>
+ <item quantity="two">Preostala sta še %d meseca</item>
+ <item quantity="few">Preostali so še %d meseci</item>
+ <item quantity="other">Preostalo je še %d mesecev</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Preostal je še en dan</item>
+ <item quantity="two">Preostala sta še %d dneva</item>
+ <item quantity="few">Preostali so še %d-je dnevi</item>
+ <item quantity="other">Preostalih je še %d dni</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Preostala je še ena ura</item>
+ <item quantity="two">Preostali sta še %d uri</item>
+ <item quantity="few">Preostale so še %d ure</item>
+ <item quantity="other">Preostalo je še %d ur</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Preostala je še ena minuta</item>
+ <item quantity="two">Preostali sta še %d minuti</item>
+ <item quantity="few">Preostale so še %d minute</item>
+ <item quantity="other">Preostalo je še %d minut</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-sl/strings.xml b/main/src/main/res/values-sl/strings.xml
index 8657ebe5..6fe05d68 100755
--- a/main/src/main/res/values-sl/strings.xml
+++ b/main/src/main/res/values-sl/strings.xml
@@ -44,15 +44,16 @@
<string name="duplicate_profile_name">Vnesite edinstveno ime profila</string>
<string name="profilename">Ime profila</string>
<string name="no_keystore_cert_selected">Izbrati morate uporabniško potrdilo</string>
- <string name="no_error_found">Nobene napake ni bilo najdene</string>
+ <string name="no_ca_cert_selected">Izbrati morate potrdilo overitelja potrdil</string>
+ <string name="no_error_found">Ni najdenih napak</string>
<string name="config_error_found">Napaka v nastavitvah</string>
<string name="ipv4_format_error">Napaka pri razčlenjevanju naslova IPv4</string>
<string name="custom_route_format_error">Napaka pri razčlenjevanju poti po meri</string>
<string name="pw_query_hint">(pustite prazno za poizvedbo na zahtevo)</string>
<string name="vpn_shortcut">Bližnjica OpenVPN</string>
- <string name="vpn_launch_title">Poveži se v VPN</string>
+ <string name="vpn_launch_title">Povezovanje v VPN &#8230;</string>
<string name="shortcut_profile_notfound">Profila, določenega v bližnjici, ni bilo mogoče najti</string>
- <string name="random_host_prefix">Predpona naklj. gostitelja</string>
+ <string name="random_host_prefix">Predpona naključnega gostitelja</string>
<string name="random_host_summary">Doda 6 naključnih znakov pred ime gostitelja</string>
<string name="custom_config_title">Omogoči možnosti po meri</string>
<string name="custom_config_summary">Določite možnosti po meri. Uporabljajte previdno!</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Geslo zasebnega ključa</string>
<string name="password">Geslo</string>
<string name="file_icon">ikona datoteke</string>
- <string name="tls_authentication">Overitev TLS</string>
+ <string name="tls_authentication">Overitev/Šifriranje TLS</string>
<string name="generated_config">Ustvarjene nastavitve</string>
<string name="generalsettings">Nastavitve</string>
<string name="owner_fix_summary">Poizkusi nastaviti lastnika mape /dev/tun na sistem. Nekateri odtisi CM9 to potrebujejo za delovanje API-ja storitve VPN. Zahteva skrbniški dostop.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Uporaba posredniškega strežnika %1$s %2$d</string>
<string name="use_system_proxy">Uporabi sis. pos. str.</string>
<string name="use_system_proxy_summary">Za povezavo uporabi nastavitve celega sistema za posredniške strežnike HTTP/HTTPS.</string>
- <string name="donatewithpaypal">Darujete lahko s &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPalom&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN bo ponovno povezal VPN, če je bil dejaven ob zaustavitvi/ponovnem zagonu sistema. Preberite pogosta vprašanja opozoril o povezavi pred uporabo te možnosti.</string>
- <string name="onbootrestart">Pon. povez. ob pon. zag.</string>
+ <string name="onbootrestartsummary">OpenVPN bo povezal navedeni VPN, če je bil dejaven ob zagonu sistema. Preberite pogosta vprašanja o opozorilih glede povezav pred uporabo te možnosti na Androidu &lt; 5.0.</string>
+ <string name="onbootrestart">Poveži ob zagonu</string>
<string name="ignore">Prezri</string>
<string name="restart">Ponovno zaženi</string>
<string name="restart_vpn_after_change">Spremembe nastavitev se bodo uporabile po ponovnem zagonu VPN-a. (Ponovno) zaženi VPN zdaj?</string>
@@ -252,7 +252,6 @@
<string name="state_tcp_connect">Povezovanje (TCP)</string>
<string name="state_auth_failed">Overitev je spodletela</string>
<string name="state_nonetwork">Čakanje na uporabno omrežje</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Ni povezan</string>
<string name="start_vpn_title">Povezovanje v VPN %s</string>
<string name="start_vpn_ticker">Povezovanje v VPN %s</string>
@@ -392,13 +391,45 @@
<string name="protocol">Protokol</string>
<string name="enabled_connection_entry">Omogočeno</string>
<string name="abi_mismatch">Prednostna izvirna predhodnost ABI (%1$s) in ABI, ki ga sporočajo izvirne knjižnice (%2$s), se ne ujemata.</string>
- <string name="months_left">Preostalih še %d mesecev</string>
- <string name="days_left">Preostalih še %d dni</string>
- <string name="hours_left">Preostalih še %d ur</string>
<string name="permission_revoked">OS je preklical dovoljenje VPN (npr. zagnan je bil drug program VPN), ustavljanje VPN-a</string>
<string name="pushpeerinfo">Potisni podatke o soležniku</string>
<string name="pushpeerinfosummary">Pošlji dodatne podatke na strežnik, npr. različico SSL in Android</string>
<string name="pw_request_dialog_title">Zahtevano %1$s</string>
<string name="pw_request_dialog_prompt">Vnesite geslo za profil %1$s</string>
<string name="menu_use_inline_data">Uporabi podatke v besedilu</string>
+ <string name="export_config_chooser_title">Izvozi nastavitveno datoteko</string>
+ <string name="missing_tlsauth">Datoteka tls-auth manjka</string>
+ <string name="missing_certificates">Manjka uporabniško potrdilo ali datoteka ključa uporabniškega potrdila</string>
+ <string name="missing_ca_certificate">Manjka potrdilo CA</string>
+ <string name="crl_title">Seznam preklicanih potrdil (izbirno)</string>
+ <string name="reread_log">Ponovno preberite predmete dnevnika (%d) iz njegove predpomnjene datoteke</string>
+ <string name="samsung_broken">Čeprav so Samsungovi telefoni eni najbolj prodajanih telefonov z Androidom, je strojna programska oprema njihovih telefonov ena najbolj hroščastih. Hrošči niso omejeni na delovanje VPN-a in se veliko od njih da zaobiti. Tukaj je opisanih nekaj hroščev.\n\nDNS ne deluje, če strežnik DNS ni v dosegu VPN-a.\n\nNa veliko napravah Samsung 5.x značilnost dovoljeni/nedovoljeni programi ne deluje.\nZa Samsungu 6.x je bilo sporočeno, da VPN ne deluje razen če je program za VPN dodan na seznam izjem značilnosti varčevanja z energijo.</string>
+ <string name="samsung_broken_title">Telefoni Samsung</string>
+ <string name="novpn_selected">VPN ni izbran.</string>
+ <string name="vpnselected">Trenutno izbrani VPN: \'%s\'</string>
+ <string name="reconnect">Ponovno poveži</string>
+ <string name="qs_title">Preklopi VPN</string>
+ <string name="qs_connect">Poveži se v %s</string>
+ <string name="qs_disconnect">Prekini povezavo s/z %s</string>
+ <string name="connectretrymaxmessage">Vnesite najdaljši čas med poizkusi povezave. OpenVPN bo po neuspešnem poizkusu povezave počasi povečeval čakalni čas do te vrednosti. Privzeto je 300 s.</string>
+ <string name="connectretrymaxtitle">Najdaljši čas med poizkusi povezave</string>
+ <string name="state_waitconnectretry">Čakanje %s s med poizkusi povezave</string>
+ <string name="nought_alwayson_warning"><![CDATA[Če niste dobili potrditvenega pogovornega okna VPN, imate v drugem programu omogočeno \"Vedno z VPN-om\". V tem primeru se lahko v VPN poveže samo ta program. Preverite v Nastavitve -> Omrežje (več) ... -> VPN-i]]></string>
+ <string name="management_socket_closed">Povezava v OmenVPN zaprta (%s)</string>
+ <string name="change_sorting">Spremeni razvrščanje</string>
+ <string name="sort">Razvrsti</string>
+ <string name="sorted_lru">Profili, razvrščeni po nazadnje uporabljenem</string>
+ <string name="sorted_az">Profili, razvrščeni po imenu</string>
+ <string name="deprecated_tls_remote">Nastavitve uporabljajo možnost tls-remote, ki je bila opuščena v raz. 2.3 in končno odstranjena v raz. 2.4</string>
+ <string name="graph">Graf</string>
+ <string name="notenoughdata">Ni dovolj podatkov</string>
+ <string name="last5minutes">Zadnjih 5 minut</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-sv/arrays.xml b/main/src/main/res/values-sv/arrays.xml
index dfdb6e2f..57718ccf 100755
--- a/main/src/main/res/values-sv/arrays.xml
+++ b/main/src/main/res/values-sv/arrays.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
@@ -13,8 +17,14 @@
<item>Användare/PW + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Ospecificerad</item>
+ <item>Kryptering (tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Koppla bort, glöm lösenordet</item>
+ <item>Koppla bort, behåll lösenordet</item>
+ <item>Ignorera, försök igen</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-sv/plurals.xml b/main/src/main/res/values-sv/plurals.xml
new file mode 100755
index 00000000..9bab8338
--- /dev/null
+++ b/main/src/main/res/values-sv/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">En månad kvar</item>
+ <item quantity="other">%d månader kvar</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">En dag kvar</item>
+ <item quantity="other">%d dagar kvar</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">En timme kvar</item>
+ <item quantity="other">%d timmar kvar</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">En minut kvar</item>
+ <item quantity="other">%d minuter kvar</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-sv/strings.xml b/main/src/main/res/values-sv/strings.xml
index f4981c3e..68af6a28 100755
--- a/main/src/main/res/values-sv/strings.xml
+++ b/main/src/main/res/values-sv/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Vänligen ange ett unikt Profilnamn</string>
<string name="profilename">Profilnamn</string>
<string name="no_keystore_cert_selected">Du måste välja ett användarcertifikat</string>
+ <string name="no_ca_cert_selected">Du måste välja ett CA-certifikat</string>
<string name="no_error_found">Inga fel hittades</string>
<string name="config_error_found">Fel i konfigurationen</string>
<string name="ipv4_format_error">Det går inte att tolka IPv4-adressen</string>
<string name="custom_route_format_error">Det går inte att tolka de anpassade rutterna</string>
<string name="pw_query_hint">(lämna tom för förfrågan vid behov)</string>
<string name="vpn_shortcut">OpenVPN genväg</string>
- <string name="vpn_launch_title">Ansluta till VPN</string>
+ <string name="vpn_launch_title">Ansluter till VPN&#8230;</string>
<string name="shortcut_profile_notfound">Profilen som anges i genvägen hittades inte</string>
<string name="random_host_prefix">Slumpmässigt värd-prefix</string>
<string name="random_host_summary">Lägger till 6 slumpmässiga tecken framför hostname</string>
@@ -159,12 +160,12 @@
<string name="converted_profile">importerad profil</string>
<string name="converted_profile_i">importerad profil %d</string>
<string name="broken_images">Trasiga ROM</string>
- <string name="broken_images_faq">lt;pgt;Officiella HTC ROM är kända för att ha ett konstigt rutt problem som orsakar att trafik inte går genom tunneln (Se även &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Ärende 18&lt;/a&gt; i äredehanteringen.)&lt;/p&gt;&lt;p&gt;Äldre officiella SONY ROM för Xperia Arc S och Xperia Ray har rapporterats sakna VPNService helt. (Se även &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Ärende 29&lt;/a&gt; i ärendehanteringen.)&lt;/p&gt;&lt;p&gt;I anpassade/modifierade ROM kan tun modulen saknas eller rättigheterna på /dev/tun kan vara fel. Vissa CM9 ROM behöver alternativet \"Fixa ägande\" under \"Modellanpassade hack\" ikryssat.&lt;/p&gt;&lt;p&gt;Viktigt: Om du har en trasig ROM, rapportera det till din leverantör. Ju fler människor som rapportera problemet till leverantören desto mer sannolikt är det att det kommer en rättning.&lt;/p&gt;</string>
+ <string name="broken_images_faq">&lt;p&gt;Officiella HTC ROM är kända för att ha ett konstigt rutt problem som orsakar att trafik inte går genom tunneln (Se även &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Ärende 18&lt;/a&gt; i äredehanteringen.)&lt;/p&gt;&lt;p&gt;Äldre officiella SONY ROM för Xperia Arc S och Xperia Ray har rapporterats sakna VPNService helt. (Se även &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Ärende 29&lt;/a&gt; i ärendehanteringen.)&lt;/p&gt;&lt;p&gt;I anpassade/modifierade ROM kan tun modulen saknas eller rättigheterna på /dev/tun kan vara fel. Vissa CM9 ROM behöver alternativet \"Fixa ägande\" under \"Modellanpassade hack\" ikryssat.&lt;/p&gt;&lt;p&gt;Viktigt: Om du har en trasig ROM, rapportera det till din leverantör. Ju fler människor som rapportera problemet till leverantören desto mer sannolikt är det att det kommer en rättning.&lt;/p&gt;</string>
<string name="pkcs12_file_encryption_key">Krypteringsnyckel för PKCS12-filen</string>
<string name="private_key_password">Lösenord för privat nyckel</string>
<string name="password">Lösenord</string>
<string name="file_icon">filikon</string>
- <string name="tls_authentication">TLS-autentisering</string>
+ <string name="tls_authentication">TLS-autentisering/kryptering</string>
<string name="generated_config">Genererad konfiguration</string>
<string name="generalsettings">Inställningar</string>
<string name="owner_fix_summary">Försöker att sätta ägaren av /dev/tun till system. Vissa CM9 ROM behöver detta för att VPNService API ska fungera. Detta kräver root.</string>
@@ -203,26 +204,27 @@
<string name="using_proxy">Använder proxy %1$s %2$d</string>
<string name="use_system_proxy">Använd system proxy</string>
<string name="use_system_proxy_summary">Använda systemkonfigurationen för HTTP/HTTPS proxy för att ansluta.</string>
- <string name="donatewithpaypal">Du kan &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;donera via PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN återansluter VPN om den var aktiv vid avstängning/omstart. Läs FAQ om anslutningsvarning innan du använder detta alternativ.</string>
- <string name="onbootrestart">Återanslut vid omstart</string>
+ <string name="onbootrestartsummary">OpenVPN kommer att ansluta angiven VPN om den var aktivt vid systemets uppstart. Vänligen läs anslutningsvarnings FAQ innan du använder det här alternativet på Android &lt; 5.0.</string>
+ <string name="onbootrestart">Anslut vid uppstart</string>
<string name="ignore">Ignorera</string>
<string name="restart">Starta om</string>
<string name="restart_vpn_after_change">Konfigurationsändringar tillämpas efter omstart av VPN. Starta(om) VPN nu?</string>
<string name="configuration_changed">Konfigurationen ändrades</string>
<string name="log_no_last_vpn">Kunde inte avgöra vilken den sista anslutna profilen var för redigering</string>
- <string name="faq_duplicate_notification_title">Dubblerade meddelanden</string>
+ <string name="faq_duplicate_notification_title">Dubbla noteringar</string>
<string name="faq_duplicate_notification">Om Android tillfälligt har brist på systemminne (RAM), tas program och tjänster som inte behövs just nu bort från aktiva minnet. Detta avslutar en pågående VPN-anslutning. För att se till att pågående anslutning/OpenVPN överlever körs denna tjänst med högre prioritet. För att köra med högre prioritet måste applikationen visa en notifikation. Nyckelikonen visas av systemet, som beskrivs i FAQ tidigare, och räknas inte som ett meddelande som ger rättighet att köra med högre prioritet.</string>
<string name="no_vpn_profiles_defined">Inga VPN-profiler har definierats.</string>
<string name="add_new_vpn_hint">Använd &lt;img src=\"ic_menu_add\"/&gt; ikonen för att lägga till en ny VPN</string>
<string name="vpn_import_hint">Använd &lt;img src=\"ic_menu_archive\"/&gt; ikonen för att importera en befintlig (.ovpn eller .conf) profil från ditt sd-kort.</string>
<string name="faq_hint">Tänk på att titta i FAQ\'n. Där finns en snabbstartguide.</string>
<string name="faq_routing_title">Konfiguration för rutter/gränssnitt</string>
+ <string name="faq_routing">Omdirigering och gränssnittskonfiguration görs inte via traditionella ifconfig/rutt kommandon men med hjälp av VPNService API. Detta resulterar i en annan omdirigering konfigurering än på andra operativsystem. \nKonfiguration av VPN-tunneln består av IP-adressen och de nätverk som ska dirigeras över detta gränssnitt. Speciellt behövs eller krävs ingen inbördes partner adress eller gatewayadress. Särskilda rutter för att nå VPN-server (t.ex. när du använder omdirigera-gateway) behövs inte heller. Applikationen kommer följaktligen ignorera dessa inställningar när du importerar en konfiguration. Applikationen försäkrar med VPNService API att anslutningen till servern inte dirigeras genom VPN-tunnel.\nVPNService API tillåter inte att specificera nätverk som inte ska dirigeras via VPN. Som en lösning försöker applikationen att identifiera nätverk som inte ska dirigeras över tunneln (t.ex. rutt x.x.x.x y.y.y.y net_gateway) och beräknar en uppsättning av rutter som utesluter dessa rutter att efterlikna beteendet hos andra plattformar. Loggnings fönstret visar konfigurationen av VPNService då en upprättning av anslutning.\nBakom kulisserna. Android 4.4+ använder policy omdirigering. Användning av rutt/ifconfig kommer inte att visa installerade rutter. Använd istället ip regel, iptables -t mangle -L</string>
<string name="persisttun_summary">Fall inte tillbaka till ingen VPN-anslutning när OpenVPN återansluter.</string>
<string name="persistent_tun_title">Ihållande tun</string>
<string name="openvpn_log">OpenVPN Log</string>
<string name="import_config">Importera OpenVPN konfiguration</string>
<string name="battery_consumption_title">Batteriförbrukning</string>
+ <string name="baterry_consumption">I mina personliga tester är den främsta orsaken till hög batteriförbrukning vid användning av OpenVPN hållvidliv-paketen. De flesta OpenVPN servrar har en konfiguration med \"keepalive 10 60\" som leder till att hållvidliv-paket skickas från klienten till servern och från servern till klienten var tionde sekund. &lt;p&gt; Även om dessa paket är små och inte använder mycket datatrafik håller de det mobila radionätet upptaget och ökar på så vis energiförbrukningen. (Se även &lt;a href=\"http://developer.android.com/training/efficient-downloads/efficient-network-access.html#RadioStateMachine\"&gt;The Radio State Machine | Android Developers&lt;/a&gt;) &lt;p&gt; Denna hållvidliv-inställning kan inte ändras i klienten. Endast systemadministratören för OpenVPN kan ändra inställningen. &lt;p&gt; Tyvärr leder en hållvidliv som är större än 60 sekunder med UDP till att vissa NAT-gateways tappar anslutningen efter en kort timeout (60 sekunder i mina tester). Via TCP med lång hållvidliv fungerar men ger TCP över TCP problem. (Se &lt;a href=\"http://sites.inka.de/bigred/devel/tcp-tcp.html\"&gt;varför TCP över TCP är en dålig idé&lt;/a&gt;)</string>
<string name="faq_tethering">Funktionen Internetdelning i Android (över WiFi, USB eller Bluetooth) och VPNService API (används av denna applikation) fungerar inte tillsammans. För mer information se &lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=34\"&gt;ärende #34&lt;/a&gt;</string>
<string name="vpn_tethering_title">VPN och Internetdelning</string>
<string name="connection_retries">Anslutningsförsök</string>
@@ -250,7 +252,7 @@
<string name="state_tcp_connect">Ansluter (TCP)</string>
<string name="state_auth_failed">Autentisering misslyckades</string>
<string name="state_nonetwork">Väntar på användbart nätverk</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Inte ansluten</string>
<string name="start_vpn_title">Ansluter till VPN %s</string>
<string name="start_vpn_ticker">Ansluter till VPN %s</string>
@@ -272,7 +274,7 @@
<string name="tls_remote_deprecated">TLS-remote (ej längre i bruk)</string>
<string name="help_translate">Du kan hjälpa till med översättningen genom att besöka http://crowdin.net/project/ics-openvpn/invite</string>
<string name="prompt">%1$s försöker styra %2$s</string>
- <string name="remote_warning">Genom att fortsätta ger du applikationen tilstånd att fullständigt styra OpenVPM för Android och att avlyssna all nätverkstrafik. <b>Acceptera INTE om du inte litar på applikationen.</b> Annars riskerar du att din data äventyras av skadlig programvara.\"</string>
+ <string name="remote_warning">Genom att fortsätta ger du applikationen tilstånd att fullständigt styra OpenVPN för Android och att avlyssna all nätverkstrafik. <b>Acceptera INTE om du inte litar på applikationen.</b> Annars riskerar du att din data äventyras av skadlig programvara.\"</string>
<string name="remote_trust">Jag litar på denna applikation.</string>
<string name="no_external_app_allowed">Ingen app får använda externa API</string>
<string name="allowed_apps">Tillåtna apps: %s</string>
@@ -286,46 +288,158 @@
<string name="resumevpn">Återuppta VPN</string>
<string name="state_userpause">VPN paus begärs av användaren</string>
<string name="state_screenoff">VPN paus - skärmen av</string>
+ <string name="device_specific">Enhetsutförande Hacks</string>
<string name="cannotparsecert">Kan inte visa certifikatinformation</string>
<string name="appbehaviour">Ansökan beteende</string>
<string name="vpnbehaviour">VPN beteende</string>
<string name="allow_vpn_changes">Tillåta ändringar av VPN profiler</string>
<string name="hwkeychain">Hårdvara Keystore:</string>
<string name="permission_icon_app">Ikonen för appen försöker använda OpenVPN för Android</string>
+ <string name="faq_vpndialog43">"Från och med Android 4.3, så är dialogrutan för att godkänna VPN-anslutning skyddad mot \"appar som lägger sig över\". Detta gör att dialogen spärras mot tryckningar. Om du använder en app som lägger sig över andra appar, så kan detta orsaka det beteendet. Om du hittar den trilskande appen, kontakta skaparen av den appen. Detta problem påverkar alla VPN-appar på Android 4.3 och senare. Se också &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Ärende 185&lt;a&gt; för mer information"</string>
<string name="faq_vpndialog43_title">Vpn Bekräftelse Dialog</string>
<string name="donatePlayStore">Alternativt kan du skicka mig en donation med Play Store:</string>
+ <string name="thanks_for_donation">Tack för att du donerar %s!</string>
<string name="logCleared">Log rensas.</string>
<string name="show_password">Visa lösenord</string>
+ <string name="keyChainAccessError">Nyckelhanterare fel: %s</string>
<string name="timestamp_short">Kort</string>
<string name="timestamp_iso">ISO</string>
<string name="timestamps">Tidsstämplar</string>
<string name="timestamps_none">Ingen</string>
<string name="uploaded_data">Ladda upp</string>
<string name="downloaded_data">Hämta</string>
+ <string name="vpn_status">VPN-status</string>
<string name="logview_options">Visa alternativ</string>
+ <string name="unhandled_exception">Ohanterat undantag: %1$s\n\n%2$s</string>
<string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
+ <string name="faq_system_dialog_xposed">Om du har rootat din Android-enhet, så kan du installera &lt;a href=\"http://xposed.info/\"&gt;Xposed-ramverket&lt;/a&gt; och &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN-bekräftelsemodulen&lt;/a&gt; på egen risk\"</string>
+ <string name="full_licenses">Fullständiga licensavtal</string>
+ <string name="blocklocal_summary">Nätverk direkt kopplade till lokala gränssnitt kommer inte att dirigeras över VPN. Avmarkering av detta alternativ kommer att omdirigera all trafik avsedda för lokala nätverk till VPN.</string>
<string name="blocklocal_title">Kringgå VPN för lokala nätverk</string>
<string name="userpw_file">Användarnamn / lösenord fil</string>
<string name="imported_from_file">[Importerad från: %s]</string>
+ <string name="files_missing_hint">Vissa filer kunde inte hittas. Välj filer för att importera profil:</string>
+ <string name="openvpn_is_no_free_vpn">För att använda denna applikation behöver du en VPN-leverantör/VPN-gateway som stöder OpenVPN (ofta tillhandahållen av din arbetsgivare). Kolla http://community.openvpn.net/ för mer information om OpenVPN och hur man ställer in en egen OpenVPN-server.</string>
<string name="import_log">Importloggen:</string>
+ <string name="ip_looks_like_subnet">Vpn-topologi \"%3$s\" specifierad, men ifconfig %1$s %2$s ser ut att vara en IP-adress med en nätmask. Antar \"subnet\"-topologi.</string>
+ <string name="mssfix_invalid_value">MSS överbelastningsvärde måste vara en heltal mellan 0 och 9000</string>
+ <string name="mtu_invalid_value">MTU-överskridningsvärdet måste vara ett heltal mellan 64 och 9000</string>
+ <string name="mssfix_value_dialog">Meddela TCP-sessioner som körs över tunneln att de ska begränsa sina sändningspaketstorlekar så att efter OpenVPN har inkapslat dem, kommer den resulterande UDP-paketstorleken som OpenVPN skickar till dess peerer inte överstiga detta antal byte. (Standard är 1450)</string>
+ <string name="mssfix_checkbox">Kringgå MSS-värdet för innehållet i TCP-paket</string>
+ <string name="mssfix_dialogtitle">Ställ in MSS för innehållet i TCP-paket</string>
<string name="client_behaviour">Klientens beteende</string>
+ <string name="clear_external_apps">Rensa tillåtna externa applikationer</string>
<string name="loading">Laddar...</string>
+ <string name="allowed_vpn_apps_info">Tillåtna VPN-applikationer: %1$s</string>
+ <string name="disallowed_vpn_apps_info">Otillåtna VPN-applikationer: %1$s</string>
+ <string name="app_no_longer_exists">Paket %s är inte längre installerat, ta bort den från tillåtna/otillåtna applikationslistan</string>
+ <string name="vpn_disallow_radio">VPN används för alla applikationer men exkluderar valda</string>
+ <string name="vpn_allow_radio">VPN används endast för utvalda applikationer</string>
+ <string name="query_delete_remote">Radera serverpost?</string>
<string name="keep">Ha kvar</string>
<string name="delete">Radera</string>
+ <string name="add_remote">Lägg till ny server</string>
+ <string name="remote_random">Använd anslutnings poster i slumpmässig ordning på Anslut</string>
+ <string name="remote_no_server_selected">Du måste definiera och aktivera åtminstone en fjärrserver.</string>
<string name="server_list">Serverlista</string>
<string name="vpn_allowed_apps">Tillåtna appar</string>
+ <string name="advanced_settings">Avancerade inställningar</string>
+ <string name="payload_options">Alternativ för paketinnehåll</string>
+ <string name="tls_settings">TLS-inställningar</string>
+ <string name="no_remote_defined">Ingen server specifierad</string>
+ <string name="duplicate_vpn">Duplicera VPN-profil</string>
+ <string name="duplicate_profile_title">Duplicerar profil: %s</string>
<string name="show_log">Visa logg</string>
+ <string name="faq_android_clients">Flera OpenVPN klienter för Android finns. Den vanligaste är OpenVPN för Android (denna klient), OpenVPN Connect och OpenVPN Settings.&lt;p&gt;Klienterna kan delas in i två grupper: OpenVPN för Android och OpenVPN Connect använder den officiella VPNService API:n (Android 4.0+) och kräver ingen rot och OpenVPN Settings som använder rot.&lt;p&gt;OpenVPN for Android är en klient med öppen källkod som har utvecklats av Arne Schwabe. Den riktar sig till mer avancerade användare och erbjuder många inställningar och möjligheten som att importera profiler från filer och konfigurera/ändra profiler inuti appen. Klienten bygger på den gemensamma versionen av OpenVPN. Den är baserad på OpenVPN 2.x källkod. Denna klient kan ses som den halvt officiella klienten i gemenskapen. &lt;p&gt;OpenVPN Connect har inte öppen källkod klient och är utvecklad av OpenVPN Technologies, Inc. Klienten indragen för allmänt bruk och mer inriktad på den genomsnittlige användaren och tillåter importering av OpenVPN profiler. Denna klient är baserad på OpenVPN C ++ reimplementation av OpenVPN protokollet (detta krävdes för att tillåta OpenVPN Technologies, Inc att publicera en iOS OpenVPN app). Denna klient är den officiella klienten av OpenVPN teknik &lt;p&gt; OpenVPN Settings är den äldsta av klienterna och även för UI för OpenVPN öppna källkod. I motsats till OpenVPN för Android kräver den rot och använder inte VPNService API. Den beror inte på Android 4.0+</string>
<string name="faq_androids_clients_title">Skillnader mellan OpenVPN Android klienterna</string>
<string name="ignore_multicast_route">Ignorera multicast rutt: %s</string>
+ <string name="ab_only_cidr">Android stödjer bara rutter specifierade i CIDR-format för VPNet. Eftersom rutter specifierade utan CIDR nästan aldrig används, så kommer OpenVPN för Android använda /32 för dessa rutter, och ge en varning.</string>
+ <string name="ab_tethering_44">Internetdelning fungerar medans VPNet är aktivt. Den delade anslutningen kommer INTE gå via VPNet.</string>
<string name="ab_kitkat_mss">Tidigt KitKat version anger fel MSS värdet på TCP-anslutningar (# 61.948). Försök att göra det möjligt för mssfix möjlighet att kringgå denna bugg.</string>
+ <string name="ab_proxy">Android kommer att använda de proxyinställningar som har ställts in för anslutningen över mobilnät/trådlöst när inga DNS-servrar är inställda. OpenVPN kommer att varna för detta i loggen.<p>När en VPN-anslutning anger en DNS-server, kommer Android att hoppa över proxyn. Det finns inget API för att ange en proxy för en VPN-anslutning.</p></string>
<string name="ab_lollipop_reinstall">VPN appar kan sluta fungera när avinstalleras och installeras igen. För mer information se # 80074</string>
+ <string name="ab_not_route_to_vpn">Det konfigurerade klient-IPt och de IP-nummer som omfattas av dess nätmask är inte ruttade via VPNet. OpenVPN kommer att motarbeta denna bugg genom att explicit lägga till en rutt som omfattar klient-IPt och dess nätmask</string>
+ <string name="ab_persist_tun">Att öppna en tun-enhet medans en annan tun-enhet är aktiv, och denna används för ihållande tun, kommer att krascha VPN-funktionen på enheten. Detta innebär att enheten måste startas om för att VPN skall fungera igen. OpenVPN för Android försöker undvika att öppna tun-enheten på nytt, och om det verkligen behövs, då stänga befintliga tun-anslutningar innan den öppnar den nya tun-enheten för att undvika denna krasch. Detta kan leda till ett litet tidsfönster där paket kan läcka ut utanför VPN-anslutningen. Även med denna fix, så kraschar ibland VPN-funktionen, och kräver då att enheten startas om.</string>
+ <string name="ab_secondary_users">VPN fungerar inte över huvud taget för extra användarkonton.</string>
+ <string name="ab_kitkat_reconnect">"Flera användare har rapporterat att anslutningen till mobilnätverket går ner då och då medans denna VPN-app används. Detta beteende verkar bara påverka vissa kombinationer av operatörer/enheter, och vi har hittils inte hittat någon orsak/lösning för buggen."</string>
+ <string name="ab_vpn_reachability_44">Bara destination kan nås över VPN som kan nås utan VPN. IPv6-VPN fungerar inte alls.</string>
<string name="ab_only_cidr_title">Icke CIDR rutter</string>
+ <string name="ab_proxy_title">Proxy beteende för VPN</string>
<string name="ab_lollipop_reinstall_title">Installera om VPN appar</string>
<string name="version_upto">%s och tidigare</string>
<string name="copy_of_profile">Kopia av %s</string>
+ <string name="ab_not_route_to_vpn_title">Rutt till den konfigurerade IP-adressen</string>
+ <string name="ab_kitkat_mss_title">Fel MSS-värde för VPN-anslutning</string>
+ <string name="ab_secondary_users_title">Sekundära surfplattsanvändare</string>
+ <string name="custom_connection_options_warng">Ange anpassade anslutningsspecifika alternativ. Används med försiktighet</string>
+ <string name="custom_connection_options">Anpassade alternativ</string>
+ <string name="remove_connection_entry">Ta bort anslutningspost</string>
+ <string name="ab_kitkat_reconnect_title">Intermittienta frånkopplingar från mobilnätverk</string>
+ <string name="ab_vpn_reachability_44_title">VPN-nätverket är inte nåbart</string>
+ <string name="ab_persist_tun_title">Ihållande tun-läge</string>
+ <string name="version_and_later">%s och senare</string>
+ <string name="tls_cipher_alert_title">Anslutningar misslyckas med SSL23_GET_SERVER_HELLO:SSLv3 alert handskakningsfel</string>
+ <string name="tls_cipher_alert">Nyare OpenVPN för Android-versioner (0.6.29/mars 2015) använder en säkrare standard för de tillåtna krypteringssviter (tls-chiffer \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"). Tyvärr, utelämna mindre säker krypteringssviter och exportchiffersviter, särskilt utelämnandet av chiffersviter som inte stöder Perfect Forward Secrecy (Diffie-Hellman) orsakar några problem. Detta orsakas oftast av en välmenande men dåligt utförda försök att stärka TLS-säkerhet genom att tls-chiffer på servern eller några inbäddade operativsystem med avskalad SSL (t.ex. MikroTik).\nFör att lösa problemet, ställa in tls-chiffer inställningar på servern till rimlig standard som tls-siffran \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\". För att komma runt problemet med klienten lägg till anpassad alternativ tls-chiffer DEFAULT i Android-klienten.</string>
+ <string name="message_no_user_edit">Den här profilen har lagts från en extern app (%s) och har markerats som oredigerbar av användare.</string>
+ <string name="crl_file">Lista över återkallade certifikat</string>
+ <string name="service_restarted">Startar om OpenVPN Service (Applikationen har antagligen kraschat eller avlivats för minnespress)</string>
+ <string name="import_config_error">Importera config gav ett fel, kan inte spara det</string>
<string name="Search">Sök</string>
+ <string name="lastdumpdate">(Senaste dumpningen är %1$d:%2$dh gamla (%3$s))</string>
+ <string name="clear_log_on_connect">Rensa loggen vid ny anslutning</string>
+ <string name="connect_timeout">Anslutningsavbrott</string>
+ <string name="no_allowed_app">Ingen godkänd app har lagts till. Denna app (%s) läggs till i listan över godkända appar för att inte alla appar skall godkännas</string>
+ <string name="query_permissions_sdcard">OpenVPN för Android kan försöka upptäcka de saknade fil(erna) på SD-kortet automatiskt. Tryck på det här meddelandet för att ge tillstånd för att starta.</string>
<string name="protocol">Protokoll</string>
<string name="enabled_connection_entry">Aktiverad</string>
- <string name="days_left">%d dagar kvar</string>
- <string name="hours_left">%d timmar kvar</string>
+ <string name="abi_mismatch">Önskemålet av ABI för denna enhet (%1$s) och det ABI som rapporteras av de inlästa biblioteken (%2$s) stämmer inte överens</string>
+ <string name="permission_revoked">VPN-tillstånd återkallas av operativsystemet (t.ex. andra VPN-program har startats), stoppar VPN</string>
+ <string name="pushpeerinfo">Skicka klientinformation till servern</string>
+ <string name="pushpeerinfosummary">Skicka extra information till servern, t.ex. SSL-versionen och Android-version</string>
+ <string name="pw_request_dialog_title">Behöver %1$s</string>
+ <string name="pw_request_dialog_prompt">Ange lösenordet för profil %1$s</string>
+ <string name="menu_use_inline_data">Använd inline-data</string>
+ <string name="export_config_chooser_title">Exportera konfigurationsfil</string>
+ <string name="missing_tlsauth">Filen för TLS-autensitering saknas</string>
+ <string name="missing_certificates">Filen för användarcertifikatet, eller filen för dess privata nyckel, saknas</string>
+ <string name="missing_ca_certificate">CA-certifikat saknas</string>
+ <string name="crl_title">Lista över återkallade certifikat (valfri)</string>
+ <string name="reread_log">Läs in (%d) loggrader från loggens cachefil på nytt</string>
+ <string name="samsung_broken">Även om Samsung telefoner är bland de mest säljande Android-telefoner, Samsungs mjukvara är också bland de mest buggiga Android mjukvarorna. Buggarna är inte begränsade till VPN driften på dessa enheter, men många av dem kan gås runt. Till följd beskrivs några av dessa buggar.\n\nDNS fungerar inte om inte DNS-servern finns VPN intervallet.\n\nPå många Samsung 5.x enheter fungerar inte de tillåtna/otillåtna programmen.\nSamsung 6.x VPN har rapporteras att inte fungera om VPN-appen är undantagen från energisparfunktioner.</string>
+ <string name="samsung_broken_title">Samsung-telefoner</string>
+ <string name="novpn_selected">Ingen VPN-anslutning vald.</string>
+ <string name="defaultvpn">Förvald VPN</string>
+ <string name="defaultvpnsummary">VPN används på platser där en förvald VPN behövs. Dessa är för närvarande vid uppstart, för Always-On och Quick Settings Tile.</string>
+ <string name="vpnselected">För närvarande vald VPN: \'%s\'</string>
+ <string name="reconnect">Återansluta</string>
+ <string name="qs_title">Omkoppla VPN</string>
+ <string name="qs_connect">Anslut till %s</string>
+ <string name="qs_disconnect">Koppla från %s</string>
+ <string name="connectretrymaxmessage">Ange den maximala tiden mellan anslutningsförsök. OpenVPN kommer sakta höja dess väntetid efter ett misslyckat anslutningsförsök upp till detta värde. Standardvärdet är 300s.</string>
+ <string name="connectretrymaxtitle">Maximal tid mellan anslutningsförsök</string>
+ <string name="state_waitconnectretry">Vänta %ss sekunder mellan anslutningsförsök</string>
+ <string name="nought_alwayson_warning"><![CDATA[Om du inte fick en VPN-bekräftelsesdialog har du \"Alltid på VPN\" aktiverat för en annan app. I så fall får bara den appen ansluta till en VPN. Kontrollera under Inställningar-> Nätverk mer .. -> VPNS]]></string>
+ <string name="management_socket_closed">Anslutning till OpenVPN stängd (%s)</string>
+ <string name="change_sorting">Ändra sortering</string>
+ <string name="sort">Sortera</string>
+ <string name="sorted_lru">Profiler sorterade efter senast använt</string>
+ <string name="sorted_az">Profiler sorterade efter namn</string>
+ <string name="deprecated_tls_remote">Config använder alternativ tls-fjärrkontroll som avlägsnades i 2.3 och slutligen avlägsnades i 2.4</string>
+ <string name="auth_failed_behaviour">Beteende vid AUTH_FAILED</string>
+ <string name="graph">Graf</string>
+ <string name="use_logarithmic_scale">Använd logaritmisk skala</string>
+ <string name="notenoughdata">Inte tillräckligt med data</string>
+ <string name="avghour">Genomsnitt per timme</string>
+ <string name="avgmin">Genomsnitt per minut</string>
+ <string name="last5minutes">Senaste 5 minuter</string>
+ <string name="data_in">In</string>
+ <string name="data_out">Ut</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-tr/arrays.xml b/main/src/main/res/values-tr/arrays.xml
index 92833b17..5bb8b773 100755
--- a/main/src/main/res/values-tr/arrays.xml
+++ b/main/src/main/res/values-tr/arrays.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
@@ -13,9 +17,10 @@
<item>Kullanıcı/Parola + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Belirtilmemiş</item>
+ <item>Şifreleme (--tls-crypt)</item>
</string-array>
<string-array name="crm_entries">
<item>Yeniden bağlanma denemesi yok</item>
@@ -24,4 +29,9 @@
<item>Elli yeniden bağlanma denemesi</item>
<item>Sınırsız yeniden bağlanma denemesi</item>
</string-array>
+ <string-array name="auth_retry_type">
+ <item>Bağlantıyı kes, parolayı unut</item>
+ <item>Bağlantıyı kes, parolayı sakla</item>
+ <item>Yoksay, yeniden dene</item>
+ </string-array>
</resources>
diff --git a/main/src/main/res/values-tr/plurals.xml b/main/src/main/res/values-tr/plurals.xml
new file mode 100755
index 00000000..c7d13659
--- /dev/null
+++ b/main/src/main/res/values-tr/plurals.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">Bir ay kaldı</item>
+ <item quantity="other">%d ay kaldı</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">Bir gün kaldı</item>
+ <item quantity="other">%d gün kaldı</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">Bir saat kaldı</item>
+ <item quantity="other">%d saat kaldı</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">Bir dakika kaldı</item>
+ <item quantity="other">%d dakika kaldı</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-tr/strings.xml b/main/src/main/res/values-tr/strings.xml
index 54b3c4ac..0d197b16 100755
--- a/main/src/main/res/values-tr/strings.xml
+++ b/main/src/main/res/values-tr/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Benzersiz bir profil adı girin</string>
<string name="profilename">Profil Adı</string>
<string name="no_keystore_cert_selected">Bir kullanıcı sertifikası seçmelisiniz</string>
+ <string name="no_ca_cert_selected">Bir CA sertifikası seçmelisiniz</string>
<string name="no_error_found">Hiçbir hata bulunamadı</string>
<string name="config_error_found">Yapılandırmada Hata</string>
<string name="ipv4_format_error">IPv4 adresi ayrıştırma hatası</string>
<string name="custom_route_format_error">Özel yolları ayrıştırma hatası</string>
<string name="pw_query_hint">(talep üzerine sorgulamak için boş bırakın)</string>
<string name="vpn_shortcut">OpenVPN Kısayolu</string>
- <string name="vpn_launch_title">VPN\'e Bağlan</string>
+ <string name="vpn_launch_title">VPN\'e bağlanıyor&#8230;</string>
<string name="shortcut_profile_notfound">Kısayolu belirtilen profil bulunamadı</string>
<string name="random_host_prefix">Rastgele Ana Makine Ön Eki</string>
<string name="random_host_summary">Makine ismine 6 rastgele karakter ekler</string>
@@ -61,7 +62,7 @@
<string name="cancel_connection_long">VPN Bağlantısını Kes</string>
<string name="clear_log">kayıtları temizle</string>
<string name="title_cancel">İptal Onayı</string>
- <string name="cancel_connection_query">Bağlı VPN bağlantısını kesilsin veya bağlantı girişimini iptal edilsin mi?</string>
+ <string name="cancel_connection_query">Bağlı VPN bağlantısı kesilsin ya da bağlantı girişimi iptal edilsin mi?</string>
<string name="remove_vpn">VPN\'i Kaldır</string>
<string name="check_remote_tlscert">Sunucunun TLS Sunucu uzantıları ile bir sertifika kullanıp kullanmadığını denetler (--remote-cert-tls server)</string>
<string name="check_remote_tlscert_title">TLS sunucu sertifikası bekle</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Özel Anahtar Parolası</string>
<string name="password">Parola</string>
<string name="file_icon">dosya simgesi</string>
- <string name="tls_authentication">TLS Kimlik Doğrulama</string>
+ <string name="tls_authentication">TLS Kimlik Doğrulama/Şifreleme</string>
<string name="generated_config">Oluşturulan Yapılandırma</string>
<string name="generalsettings">Ayarlar</string>
<string name="owner_fix_summary">/dev/tun sahipliğini sisteme vermeye çalışır. Bazı CM9 kalıpları VPNService API\'sinin çalışabilmesi için buna ihtiyaç duyar. Root gerektirir.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">%1$s %2$d vekil sunucusu kullanarak</string>
<string name="use_system_proxy">Sistem vekil sunucusunu kullan</string>
<string name="use_system_proxy_summary">Bağlanmak için sistem çapındaki HTTP/HTTPS vekil sunucularını kullan.</string>
- <string name="donatewithpaypal">&lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPal ile bağış&lt;/a&gt; yapabilirsiniz; </string>
- <string name="onbootrestartsummary">OpenVPN, sistem yeniden başlatma/kapatma sırasında etkinse, tekrar bir VPN\'ye bağlanacak. Lütfen bu seçeneği kullanmadan önce Bağlantı uyarı SSS\'sini okuyun.</string>
- <string name="onbootrestart">Yeniden başlatmada tekrar bağlan</string>
+ <string name="onbootrestartsummary">Sistem önyüklemesi üzerinde etkinse, OpenVPN belirtilen VPN bağlantısına bağlanır. Lütfen bu seçeneği Android &lt; 5.0 üzerinde kullanmadan önce bağlantı uyarısı için SSS bölümünü okuyun.</string>
+ <string name="onbootrestart">Önyükleme sırasında bağlan</string>
<string name="ignore">Yoksay</string>
<string name="restart">Yeniden Başlat</string>
<string name="restart_vpn_after_change">Yapılandırma değişiklikleri, VPN yeniden başlattıktan sonra geçerli olur. VPN (yeniden) başlatılsın mı?</string>
@@ -239,7 +239,7 @@
<string name="session_ipv6string">%1$s - %3$s, %2$s</string>
<string name="state_connecting">Bağlanıyor</string>
<string name="state_wait">Sunucudan yanıt bekleniyor</string>
- <string name="state_auth">Kimlik Doğrulanıyor</string>
+ <string name="state_auth">Kimlik doğrulanıyor</string>
<string name="state_get_config">İstemci yapılandırması alınıyor</string>
<string name="state_assign_ip">IP adresleri atanıyor</string>
<string name="state_add_routes">Yollar ekleniyor</string>
@@ -252,7 +252,7 @@
<string name="state_tcp_connect">Bağlanıyor (TCP)</string>
<string name="state_auth_failed">Kimlik doğrulaması başarısız</string>
<string name="state_nonetwork">Kullanılabilir ağ için bekleniyor</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Bağlı değil</string>
<string name="start_vpn_title">VPN %s bağlanıyor</string>
<string name="start_vpn_ticker">VPN %s bağlanıyor</string>
@@ -323,6 +323,7 @@
<string name="import_log">Alma günlüğü:</string>
<string name="ip_looks_like_subnet">Vpn topolojisi \"%3$s\" belirtildi ancak ifconfig %1$s %2$s daha çok bir ağ maskesi içeren bir IP adresi gibi görünüyor. \"subnet\" topolojisi olarak varsayılacak.</string>
<string name="mssfix_invalid_value">MSS geçersiz kılma değeri 0 ile 9000 arasında bir tamsayı olmak zorundadır</string>
+ <string name="mtu_invalid_value">MTU geçersiz kılma değeri 64 ile 9000 arasında bir tamsayı olmak zorundadır</string>
<string name="mssfix_value_dialog">Tünel üzerinden çalışan TCP oturumlarına, gönderi paket boyutlarını OpenVPN kapladıktan sonra sınırlamalarını, OpenVPN\'nin eşine gönderdiği dönen UDP paket boyutunun bu bayt sayısını aşmayacağını bildir (öntanımlı 1450).</string>
<string name="mssfix_checkbox">TCP yükünün MSS değerini geçersiz kıl</string>
<string name="mssfix_dialogtitle">TCP yükünün MSS değerini ayarla</string>
@@ -392,13 +393,53 @@
<string name="protocol">Protokol</string>
<string name="enabled_connection_entry">Etkin</string>
<string name="abi_mismatch">Tercih edilen bu cihazın yerli ABI önceliği (%1$s) ile yerli kütüphanelerden bildirilen ABI (%2$s) uyuşmuyor</string>
- <string name="months_left">%d ay kaldı</string>
- <string name="days_left">%d gün kaldı</string>
- <string name="hours_left">%d saat kaldı</string>
<string name="permission_revoked">VPN izni işletim sistemi tarafından (örn. başlatılan diğer VPN programı) reddedildi, VPN durduruluyor</string>
<string name="pushpeerinfo">Eş bilgisini it</string>
<string name="pushpeerinfosummary">Sunucuya ek bilgi gönder, örn. SSL sürümü ve Android sürümü</string>
<string name="pw_request_dialog_title">%1$s gerekli</string>
<string name="pw_request_dialog_prompt">Lütfen %1$s profili için parola girin</string>
<string name="menu_use_inline_data">Satır içi veri kullan</string>
+ <string name="export_config_chooser_title">Yapılandırma dosyasını dışa aktar</string>
+ <string name="missing_tlsauth">tls-auth dosyası kayıp</string>
+ <string name="missing_certificates">Kullanıcı sertifikası ve ya kullanıcı sertifika anahtar dosyası kayıp</string>
+ <string name="missing_ca_certificate">CA sertifikası kayıp</string>
+ <string name="crl_title">Sertifika İptal Listesi (isteğe bağlı)</string>
+ <string name="reread_log">Günlük önbellek dosyasından (%d) günlük ögesini tekrar oku</string>
+ <string name="samsung_broken">Samsung telefonlar en çok satan Android telefonlar arasında yer alıyor olsa da, Samsung\'un yazılım yazılımı en hatalı Android yazılımları arasında yer alıyor. Hatalar, bu aygıtlardaki VPN işlemi ile sınırlı değildir, ancak bunların birçoğuna geçici çözüm bulunabilir. Bu hataların bazıları aşağıda açıklanıyor.\n\n DNS, DNS sunucusu VPN aralığında olmadığı takdirde çalışmaz.\n\nÇoğu Samsung 5.x cihazında izin verilen/izin verilmeyen uygulamalar özelliği çalışmıyor.\nSamsung 6.x üzerinde, VPN uygulamasının Güç tasarrufu özelliklerinden muaf tutulmadıkça çalışmadığı bildirildi.</string>
+ <string name="samsung_broken_title">Samsung telefonlar</string>
+ <string name="novpn_selected">Seçili VPN yok.</string>
+ <string name="defaultvpn">Öntanımlı VPN</string>
+ <string name="defaultvpnsummary">Varsayılan olarak bir VPN gereken yerlerde VPN kullanılır. Bunlar şu anda: önyükleme sırasında, Her Zaman Açık ve Hızlı Ayarlar Döşemesi içindir.</string>
+ <string name="vpnselected">Şu anda seçili VPN: \'%s\'</string>
+ <string name="reconnect">Yeniden bağlan</string>
+ <string name="qs_title">VPN\'i Aç/Kapat</string>
+ <string name="qs_connect">Şuna bağlan: %s</string>
+ <string name="qs_disconnect">%s bağlantısını kes</string>
+ <string name="connectretrymaxmessage">Bağlantı denemeleri arasındaki en uzun süreyi girin. OpenVPN bir başarısız bağlantı girişiminden sonra bu değer kadar onun bekleme süresini yavaş yavaş arttıracak. Varsayılan 300 sn.</string>
+ <string name="connectretrymaxtitle">Bağlantı denemeleri arasındaki azami süre</string>
+ <string name="state_waitconnectretry">Bağlantı denemesi arasında %s saniye bekleniyor</string>
+ <string name="nought_alwayson_warning"><![CDATA[VPN onay ekranını almıyorsanız başka bir uygulama için \"Her zaman açık VPN\" ayarını etkinleştirmişsinizdir. Bu durumda sadece o uygulama VPN\'e bağlanabilir. Ayarlar->Diğer Ağlar...->VPN bölümünden bu ayarı kontrol edin]]></string>
+ <string name="management_socket_closed">OpenVPN bağlantısı kapalı (%s)</string>
+ <string name="change_sorting">Sıralamayı değiştir</string>
+ <string name="sort">Sırala</string>
+ <string name="sorted_lru">Son kullanılan profillere göre sıralanmış</string>
+ <string name="sorted_az">Profil adına göre sıralanmış</string>
+ <string name="deprecated_tls_remote">Yapılandırma seçeneği tls-remote 2.3\'de kullanımdan kaldırıldı ve 2.4\'de sürümden tamamen çıkarıldı</string>
+ <string name="auth_failed_behaviour">AUTH_FAILED davranışı</string>
+ <string name="graph">Grafik</string>
+ <string name="use_logarithmic_scale">Logaritmik ölçek kullan</string>
+ <string name="notenoughdata">Yeterli veri yok</string>
+ <string name="avghour">Saat başına ortalama</string>
+ <string name="avgmin">Dakika başına ortalama</string>
+ <string name="last5minutes">Son 5 dakika</string>
+ <string name="data_in">Giriş</string>
+ <string name="data_out">Çıkış</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
</resources>
diff --git a/main/src/main/res/values-uk/arrays.xml b/main/src/main/res/values-uk/arrays.xml
index ba6e8437..3e42c277 100755
--- a/main/src/main/res/values-uk/arrays.xml
+++ b/main/src/main/res/values-uk/arrays.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
@@ -13,8 +17,9 @@
<item>Користувач/Пароль + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Невказано</item>
+ <item>Шифрування (TLS-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-uk/plurals.xml b/main/src/main/res/values-uk/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-uk/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-uk/strings.xml b/main/src/main/res/values-uk/strings.xml
index 43a55bba..fcdbb53e 100755
--- a/main/src/main/res/values-uk/strings.xml
+++ b/main/src/main/res/values-uk/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Введіть унікальне ім\'я профілю</string>
<string name="profilename">Ім\'я профілю</string>
<string name="no_keystore_cert_selected">Потрібно вибрати сертифікат користувача</string>
+ <string name="no_ca_cert_selected">Ви повинні обрати кореневий (СА) сертифікат</string>
<string name="no_error_found">Помилок не знайдено</string>
<string name="config_error_found">Помилка конфігурації</string>
<string name="ipv4_format_error">Помилка при розборі адреси IPv4</string>
<string name="custom_route_format_error">Помилка аналізу налаштованих маршрутів</string>
<string name="pw_query_hint">(залиште порожнім для запиту на вимогу)</string>
<string name="vpn_shortcut">Ярлик OpenVPN</string>
- <string name="vpn_launch_title">Підключення до VPN</string>
+ <string name="vpn_launch_title">Підключення до VPN ...</string>
<string name="shortcut_profile_notfound">Профіль, вказаний у ярлику, не знайдено</string>
<string name="random_host_prefix">Випадковий префікс вузла</string>
<string name="random_host_summary">Додає 6 випадкових символів перед іменем вузла</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Пароль закритого ключа</string>
<string name="password">Пароль</string>
<string name="file_icon">Піктограма файлу</string>
- <string name="tls_authentication">Аутентифікація TLS</string>
+ <string name="tls_authentication">TLS-аутентифікація / Шифрування</string>
<string name="generated_config">Згенерована конфігурація</string>
<string name="generalsettings">Параметри</string>
<string name="owner_fix_summary">Спробуйте змінити власника для /dev/tun. Деякі прошивки CM9 вимагають цього для коректної роботи API OpenVPN. Потрібний root.</string>
@@ -180,6 +181,7 @@
<string name="keychain_nocacert">Не вдалося отримати СА сертифікат при читанні із сховища ключів Андроїд. Автентифікація не вдалася.</string>
<string name="show_log_summary">Показати вікно журналу при з\'єднанні. Вікно журналу може бути завжди дрступним у панелі сповіщень.</string>
<string name="show_log_window">Показати вікно журналу</string>
+ <string name="mobile_info">%10$s %9$s працює на %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">Помилка підпису з використанням ключа із сховища Андроїд %1$s: %2$s</string>
<string name="faq_system_dialogs">Попередження VPN з\'єднання повідомляє вам, що цей додаток може перехоплювати весь мережевий трафік, і повідомляється системою попереджень VPNService API. \nСповіщення про VPN з\'єднання (символ \"Ключа\") також формується системою Android для сигналізації про вихідне VPN з\'єднання. У деяких прошивках це сповіщення супроводжується сигналом. \nAndroid використовує ці cповіщення для вашої власної безпеки і їх не можна обійти. (На жаль, на деяких прошивках також сповіщення супроводжується звуком)</string>
<string name="faq_system_dialogs_title">Повідомлення про підключення та звук сповіщеня</string>
@@ -202,9 +204,8 @@
<string name="using_proxy">Використовується проксі %1$s %2$d</string>
<string name="use_system_proxy">Використовувати системний проксі</string>
<string name="use_system_proxy_summary">Використовувати системну конфігурацію HTTP/HTTPS проксі для з\'єднання.</string>
- <string name="donatewithpaypal">Ви можете &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;пожертвувати через PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN буде перепідключатися, якщо він був активний в момент вимикання/перезавантаження. Будь ласка, прочитайте ЧаП перед тим, як використовувати цей параметр.</string>
- <string name="onbootrestart">Перепідключати при перезавантаженні</string>
+ <string name="onbootrestartsummary">OpenVPN підключатиметься до вказаного VPN, якщо він був активний при завантаженні системи. Будь ласка, прочитайте FAQ про попередження при підключенні перед використанням цієї опції на Android &lt; 5.0.</string>
+ <string name="onbootrestart">Підключення при завантаженні</string>
<string name="ignore">Ігнорувати</string>
<string name="restart">Перезапустити</string>
<string name="restart_vpn_after_change">Після перезапуску VPN застосувати зміни конфігурації. (Пере)запустити VPN тепер?</string>
@@ -251,7 +252,6 @@
<string name="state_tcp_connect">Підключення (TCP)</string>
<string name="state_auth_failed">Помилка автентифікації</string>
<string name="state_nonetwork">Очікування на використання мережі</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">Не підключено</string>
<string name="start_vpn_title">Підключення до VPN %s</string>
<string name="start_vpn_ticker">Підключення до VPN %s</string>
@@ -377,10 +377,41 @@
<string name="ab_persist_tun_title">Зберігати tun режим</string>
<string name="version_and_later">%s і подальше</string>
<string name="tls_cipher_alert_title">Підключення не вдається з \"SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure\"</string>
+ <string name="message_no_user_edit">Цей профіль був доданий з зовнішнього додатку (%s) і був відзначений як таким, що не керується користувачем.</string>
+ <string name="crl_file">Список відкликаних сертифікатів</string>
+ <string name="service_restarted">Перезапуск OpenVPN Service (Додаток зупинився або закрився через нестачу пам\'яті)</string>
+ <string name="import_config_error">Імпортування конфігурації привелу до помилки, неможливо зберегти зміни</string>
<string name="Search">Пошук</string>
<string name="lastdumpdate">(Останній Dump %1$d:%2$dh старий (%3$s))</string>
<string name="clear_log_on_connect">Очистити журнал при новому підключенні</string>
<string name="connect_timeout">Час очікування з\'єднання</string>
+ <string name="no_allowed_app">Не додано в список дозволених додатків. Додайте себе (%s), щоб мати принаймні один додаток в списку дозволених, щоб не дозволяти всі програми</string>
+ <string name="query_permissions_sdcard">OpenVPN для Android може спробувати знайти відсутні файли на Sd карті автоматично. Натисніть на це повідомлення, щоб отримати права на дозвіл.</string>
<string name="protocol">Протокол</string>
<string name="enabled_connection_entry">Ввімкнено</string>
+ <string name="permission_revoked">Дозвіл VPN відкликано ОС (наприклад, інша програма VPN запущена), зупинка VPN</string>
+ <string name="pushpeerinfo">Отримати інформацію про піра</string>
+ <string name="pushpeerinfosummary">Надіслати додаткову інформацію на сервер, наприклад версію SSL та Android</string>
+ <string name="pw_request_dialog_title">Потрібно %1$s</string>
+ <string name="pw_request_dialog_prompt">Будь ласка, введіть пароль для профілю %1$s</string>
+ <string name="menu_use_inline_data">Використовувати вбудовані дані</string>
+ <string name="export_config_chooser_title">Експортувати файл конфігурації</string>
+ <string name="missing_tlsauth">відсутній файл tls-auth</string>
+ <string name="missing_certificates">Відсутній сертифікат користувача або файл ключа сертифікату користувача</string>
+ <string name="missing_ca_certificate">Відсутній сертифікат центру сертифікації</string>
+ <string name="crl_title">Список відкликаних сертифікатів (опціонально)</string>
+ <string name="reread_log">Перечитати (%d) елементів з кеш-файлу журналу історії</string>
+ <string name="samsung_broken">Навіть не зважаючи на те, що телефони Samsung є одними з найбільш популярних телефонів на Android, прошивка від Samsung також є однією з найбільш дирявими прошивками на Android. Ці помилки не обмежуються лише VPN операціями на цих пристроях, але багато з них можна уникнути. Дальше деякі з цих помилок описані. \n\nDNS не працює, якщо сервер DNS в межах віртуальної приватної мережі. \n\nНа багатьох пристроях Samsung 5.x функція дозволених/заборонених програм не працює. \n\nНа Samsung 6.x VPN не працює, якщо додаток VPN не звільняється від PowerSave функцій.</string>
+ <string name="samsung_broken_title">телефони Samsung</string>
+ <string name="novpn_selected">VPN не вибрано.</string>
+ <string name="reconnect">Перепідключитись</string>
+ <string name="qs_connect">Підключення до %s</string>
+ <string name="qs_disconnect">Відключення %s</string>
+ <string name="connectretrymaxtitle">Максимальний час між спробами підключення</string>
+ <string name="state_waitconnectretry">Очікування %ss секунд між спробами підключення</string>
+ <string name="management_socket_closed">Підключення до OpenVPN закрито (%s)</string>
+ <string name="change_sorting">Змінити сортування</string>
+ <string name="sort">Cортувати</string>
+ <string name="sorted_lru">Профілі відсортовано за часом використовувався</string>
+ <string name="sorted_az">Профілі відсортовані за назвою</string>
</resources>
diff --git a/main/src/main/res/values-v21/refs.xml b/main/src/main/res/values-v21/refs.xml
index f3f43692..1af5ba02 100644
--- a/main/src/main/res/values-v21/refs.xml
+++ b/main/src/main/res/values-v21/refs.xml
@@ -5,13 +5,23 @@
-->
<resources>
- <drawable name="ic_menu_close_clear_cancel">@drawable/ic_close_white_24dp</drawable>
- <drawable name="ic_menu_play">@drawable/ic_play_arrow_white_24dp</drawable>
- <drawable name="ic_menu_pause">@drawable/ic_pause_white_24dp</drawable>
- <drawable name="ic_menu_share">@drawable/ic_share_white_24dp </drawable>
- <drawable name="ic_menu_save">@drawable/ic_check_white_24dp</drawable>
- <drawable name="ic_menu_view">@drawable/ic_filter_list_white_24dp</drawable>
- <drawable name="ic_menu_delete">@drawable/ic_delete_white_24dp</drawable>
- <drawable name="ic_menu_delete_grey">@drawable/ic_delete_grey600_24dp</drawable>
-</resources>
+ <drawable name="ic_menu_close_clear_cancel">@drawable/ic_close_white_24dp</drawable>
+ <drawable name="ic_menu_play">@drawable/ic_play_arrow_white_24dp</drawable>
+ <drawable name="ic_menu_pause">@drawable/ic_pause_white_24dp</drawable>
+ <drawable name="ic_menu_share">@drawable/ic_share_white_24dp </drawable>
+ <drawable name="ic_menu_save">@drawable/ic_check_white_24dp</drawable>
+ <drawable name="ic_menu_view">@drawable/ic_filter_list_white_24dp</drawable>
+ <drawable name="ic_menu_delete">@drawable/ic_delete_white_24dp</drawable>
+<!-- <drawable name="ic_menu_copy">@drawable/ic_content_copy_white_24dp</drawable> -->
+ <drawable name="ic_menu_delete_grey">@drawable/ic_delete_grey600_24dp</drawable>
+ <drawable name="ic_menu_edit">@drawable/ic_edit_white_24dp</drawable>
+<!-- <drawable name="ic_menu_import">@drawable/ic_archive_white_24dp</drawable> -->
+ <drawable name="vpn_item_edit">@drawable/ic_edit_grey600_24dp</drawable>
+ <!--<drawable name="ic_menu_add">@drawable/ic_add_circle_outline_white_24dp</drawable>-->
+ <!-- <drawable name="ic_dialog_alert">@drawable/ic_warning_black_36dp</drawable>
+ <drawable name="ic_menu_add_grey">@drawable/ic_add_circle_outline_grey600_24dp</drawable>
+ <drawable name="ic_menu_import_grey">@drawable/ic_archive_grey600_24dp</drawable>
+ <drawable name="ic_receipt">@drawable/ic_receipt_white_24dp</drawable>
+ <drawable name="ic_sort">@drawable/ic_sort_white_24dp</drawable> -->
+</resources> \ No newline at end of file
diff --git a/main/src/main/res/values-vi/arrays.xml b/main/src/main/res/values-vi/arrays.xml
index 79a54bdc..59ffec5d 100755
--- a/main/src/main/res/values-vi/arrays.xml
+++ b/main/src/main/res/values-vi/arrays.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
@@ -13,8 +17,14 @@
<item>Người dùng/Mật khẩu+Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>Không xác định</item>
+ <item>Mã hóa (tls-crypt)</item>
+ </string-array>
+ <string-array name="auth_retry_type">
+ <item>Ngắt kết nối, không lưu mật khẩu</item>
+ <item>Ngắt kết nối, giữ mật khẩu</item>
+ <item>Bỏ qua, thử lại</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-vi/plurals.xml b/main/src/main/res/values-vi/plurals.xml
new file mode 100755
index 00000000..d355f594
--- /dev/null
+++ b/main/src/main/res/values-vi/plurals.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources>
+ <plurals name="months_left">
+ <item quantity="other">Còn lại %d tháng</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="other">Còn lại %d ngày</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="other">Còn lại %d giờ</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="other">Còn lại %d phút</item>
+ </plurals>
+</resources>
diff --git a/main/src/main/res/values-vi/strings.xml b/main/src/main/res/values-vi/strings.xml
index 98052d0e..030c0c6f 100755
--- a/main/src/main/res/values-vi/strings.xml
+++ b/main/src/main/res/values-vi/strings.xml
@@ -44,13 +44,14 @@
<string name="duplicate_profile_name">Vui lòng nhập một tên hồ sơ duy nhất</string>
<string name="profilename">Tên hồ sơ</string>
<string name="no_keystore_cert_selected">Bạn phải chọn một chứng chỉ người dùng</string>
+ <string name="no_ca_cert_selected">Bạn phải chọn một chứng chỉ CA</string>
<string name="no_error_found">Không tìm thấy lỗi</string>
<string name="config_error_found">Lỗi trong cấu hình</string>
<string name="ipv4_format_error">Lỗi phân tích cú pháp địa chỉ IPv4</string>
<string name="custom_route_format_error">Lỗi phân tích cú pháp định tuyến tùy chỉnh</string>
<string name="pw_query_hint">(để trống để truy vấn theo yêu cầu)</string>
<string name="vpn_shortcut">Lối tắt Open VPN</string>
- <string name="vpn_launch_title">Kết nối đến VPN</string>
+ <string name="vpn_launch_title">Đang kết nối tới VPN&#8230;</string>
<string name="shortcut_profile_notfound">Hồ sơ quy định tại lối tắt không tìm thấy</string>
<string name="random_host_prefix">Tiền tố miền ngẫu nhiên</string>
<string name="random_host_summary">Thêm 6 ký tự ngẫu nhiên ở phía trước tên miền</string>
@@ -164,7 +165,7 @@
<string name="private_key_password">Khóa mật khẩu riêng tư</string>
<string name="password">Mật khẩu</string>
<string name="file_icon">biểu tượng tập tin</string>
- <string name="tls_authentication">Xác thực TLS</string>
+ <string name="tls_authentication">Xác thực/mã hoá TLS</string>
<string name="generated_config">Tạo cấu hình</string>
<string name="generalsettings">Cài đặt</string>
<string name="owner_fix_summary">Cố gắng thiết lập chủ sở hữu của /dev/tun vào hệ thống. Một vài ROM CM9 cần việc này để thực hiện thiết lập VPN API. Yêu cầu root.</string>
@@ -203,9 +204,8 @@
<string name="using_proxy">Đang sử dụng proxy %1$s %2$d</string>
<string name="use_system_proxy">Sử dụng proxy hệ thống</string>
<string name="use_system_proxy_summary">Sử dụng các cấu hình hệ thống rộng cho HTTP/HTTPS proxy để kết nối.</string>
- <string name="donatewithpaypal">Bạn có thể &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;ủng hộ cho ứng dụng với PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN sẽ kết nối lại VPN nếu nó đã hoạt động khi hệ thống khởi động lại/tắt máy. Xin vui lòng đọc phần cảnh báo kết nối trong các câu hỏi thường gặp trước khi sử dụng tùy chọn này.</string>
- <string name="onbootrestart">Kết nối lại khi khởi động lại máy</string>
+ <string name="onbootrestartsummary">OpenVPN sẽ kết nối VPN xác định nếu nó đã hoạt động trên hệ thống khởi động. Xin vui lòng đọc hướng dẫn cảnh báo kết nối trước khi sử dụng tùy chọn này trên Android &lt; 5.0.</string>
+ <string name="onbootrestart">Kết nối khi khởi động</string>
<string name="ignore">Bỏ qua</string>
<string name="restart">Khởi động lại</string>
<string name="restart_vpn_after_change">Cấu hình sẽ được áp dụng sau khi khởi động lại VPN. (Khởi động) bắt đầu VPN lại ngay bây giờ?</string>
@@ -252,7 +252,7 @@
<string name="state_tcp_connect">Đang kết nối (TCP)</string>
<string name="state_auth_failed">Chứng thực không thành công</string>
<string name="state_nonetwork">Đang đợi mạng khả dụng</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓ %2$s %1$s - ↑ %4$s %3$s</string>
<string name="notifcation_title_notconnect">Không kết nối</string>
<string name="start_vpn_title">Đang kết nối VPN %s</string>
<string name="start_vpn_ticker">Đang kết nối VPN %s</string>
@@ -323,6 +323,7 @@
<string name="import_log">Nhập bản ghi:</string>
<string name="ip_looks_like_subnet">Cấu trúc VPN \"%3$s\" quy định nhưng ifconfig %1$s %2$s trông giống như một địa chỉ IP với một mặt nạ mạng. Giả định cấu trúc liên kết \"mạng con\".</string>
<string name="mssfix_invalid_value">Các giá trị MSS phải là một số nguyên từ 0 đến 9000</string>
+ <string name="mtu_invalid_value">Các giá trị MTU phải là một số nguyên từ 64 đến 9000</string>
<string name="mssfix_value_dialog">Thông báo với các phiên TCP đang chạy thông qua đường truyền mà chúng nên hạn chế gửi kích cỡ gói dữ liệu sau khi Open VPN đã đóng gói nó, kết quả kích thước gói dữ liệu UDP mà OpenVPN gửi tới sẽ không vượt qua số byte này. (Mặc định là 1450)</string>
<string name="mssfix_checkbox">Ghi đè lên giá trị MSS của TCP payload</string>
<string name="mssfix_dialogtitle">Đặt MSS của TCP payload</string>
@@ -392,7 +393,30 @@
<string name="protocol">Giao thức</string>
<string name="enabled_connection_entry">Bật</string>
<string name="abi_mismatch">Ưu tiên ABI gốc của thiết bị này (%1$s) và ABI được báo cáo bởi thư viện gốc (%2$s) bất đối xứng</string>
- <string name="months_left">%d tháng còn lại</string>
- <string name="days_left">%d ngày còn lại</string>
- <string name="hours_left">%d giờ còn lại</string>
+ <string name="permission_revoked">cho phép VPN bị thu hồi bởi hệ điều hành (ví dụ như chương trình VPN khác bắt đầu), dừng VPN</string>
+ <string name="pushpeerinfo">Đẩy thông tin ngang nhau</string>
+ <string name="pushpeerinfosummary">Gửi thông tin đến máy chủ, ví dụ như phiên bản SSL và phiên bản Android</string>
+ <string name="pw_request_dialog_title">Cần thêm %1$s</string>
+ <string name="pw_request_dialog_prompt">Vui lòng nhập mật khẩu cho %1$s</string>
+ <string name="menu_use_inline_data">Sử dụng dữ liệu nội tuyến</string>
+ <string name="export_config_chooser_title">Xuất tập tin cấu hình</string>
+ <string name="missing_tlsauth">tập tin tls-auth bị mất tích</string>
+ <string name="missing_certificates">Thiếu chứng chỉ người dùng hoặc chứng chỉ tập tin</string>
+ <string name="missing_ca_certificate">Thiếu chứng chỉ CA</string>
+ <string name="crl_title">Danh sách chứng chỉ thu hồi (tùy chọn)</string>
+ <string name="reread_log">Đọc lại (%d) mục đăng nhập từ tập tin bộ nhớ cache đăng nhập</string>
+ <string name="samsung_broken">Even though Samsung phones are among the most selling Android phones, Samsung\'s firmware are also among the most buggy Android firmwares. The bugs are not limited to the VPN operation on these devices but many of them can be workarounded. In the following some of these bugs are described.\n\nDNS does not work unless the DNS server in the VPN range.\n\nOn many Samsung 5.x devices the allowed/disallowed apps feature does not work.\nOn Samsung 6.x VPN is reported not to work unless the VPN app is exempted from Powersave features.</string>
+ <string name="samsung_broken_title">Điện thoại Samsung</string>
+ <string name="novpn_selected">Không VPN được chọn.</string>
+ <string name="defaultvpn">VPN mặc định</string>
+ <string name="defaultvpnsummary">VPN được sử dụng ở những nơi mà một mặc định VPN cần thiết. Chúng hiện đang khởi động, Luôn-Bật và vào Cài Đặt Nhanh.</string>
+ <string name="vpnselected">VPN hiện được chọn: \'%s\'</string>
+ <string name="reconnect">Kết nối lại</string>
+ <string name="qs_title">Bật tắt VPN</string>
+ <string name="qs_connect">Kết nối đến %s</string>
+ <string name="qs_disconnect">Ngắt kết nối đến %s</string>
+ <string name="connectretrymaxmessage">Hãy nhập tối đa thời gian giữa các kết nối lại. OpenVPN sẽ dần dần tăng thời gian chờ đợi của mình sau khi cố kết nối không thành công đến giá trị này. Mặc định là hệ thống 300.</string>
+ <string name="connectretrymaxtitle">Thời gian tối đa giữa kết nối lại</string>
+ <string name="state_waitconnectretry">Vui lòng chờ %ss giây để kết nối</string>
+ <string name="sort">Sắp xếp</string>
</resources>
diff --git a/main/src/main/res/values-zh-rCN/arrays.xml b/main/src/main/res/values-zh-rCN/arrays.xml
index bdf374c3..c41d00da 100755
--- a/main/src/main/res/values-zh-rCN/arrays.xml
+++ b/main/src/main/res/values-zh-rCN/arrays.xml
@@ -1,10 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
<!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>证书</item>
- <item>PKCS12 加密文件</item>
+ <item>PKCS12 文件</item>
<item>Android 证书</item>
<item>用户名/密码</item>
<item>静态密钥</item>
@@ -13,8 +17,9 @@
<item>用户名/密码 + Android 证书</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
<item>未指定</item>
+ <item>加密(tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-zh-rCN/plurals.xml b/main/src/main/res/values-zh-rCN/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-zh-rCN/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-zh-rCN/strings.xml b/main/src/main/res/values-zh-rCN/strings.xml
index fd67b83d..9a62f113 100755
--- a/main/src/main/res/values-zh-rCN/strings.xml
+++ b/main/src/main/res/values-zh-rCN/strings.xml
@@ -6,32 +6,31 @@
-->
<resources>
<string name="app">OpenVPN for Android</string>
- <string name="address">服务器地址:</string>
- <string name="port">服务器端口:</string>
- <string name="location">地点</string>
+ <string name="address">服务器地址</string>
+ <string name="port">Server Port:</string>
+ <string name="location">位置</string>
<string name="cant_read_folder">无法读取目录</string>
<string name="select">选择</string>
<string name="cancel">取消</string>
<string name="no_data">未收到数据</string>
<string name="useLZO">启用 LZO 压缩算法</string>
- <string name="client_no_certificate">无客户端证书</string>
+ <string name="client_no_certificate">没有证书</string>
<string name="client_certificate_title">客户端证书</string>
<string name="client_key_title">客户端证书密钥</string>
- <string name="client_pkcs12_title">PKCS12 文件</string>
+ <string name="client_pkcs12_title">PKCS12 证书文件</string>
<string name="ca_title">CA 证书</string>
- <string name="no_certificate">您必须选择一个证书</string>
- <string name="copyright_guicode">请前往 http://code.google.com/p/ics-openvpn/ 查看源码或提供问题反馈</string>
- <string name="copyright_others">本程序使用以下组件,请在 Licenses 查看源码获取更详细内容。</string>
+ <string name="no_certificate">你必须选择一个证书</string>
+ <string name="copyright_guicode">请前往 https://github.com/schwabe/ics-openvpn/ 查看源码或提供问题反馈</string>
+ <string name="copyright_others">该程序使用以下组件,有关许可证的详细信息请参阅源代码</string>
<string name="about">关于</string>
<string name="vpn_list_title">配置文件</string>
<string name="vpn_type">类型</string>
<string name="pkcs12pwquery">PKCS12 密码</string>
<string name="file_select">请选择&#8230;</string>
- <string name="file_nothing_selected">您必须选择一个文件</string>
- <string name="useTLSAuth">使用 TLS 身份验证</string>
- <string name="tls_direction">TLS 方向</string>
- <string name="ipv6_dialog_tile">输入 CIDR 格式 IPv6 地址/子网掩码(例如:2000:dd::23/64)</string>
- <string name="ipv4_dialog_title">输入 CIDR 格式 IPv4 地址/子网掩码(例如:1.2.3.4/24)</string>
+ <string name="file_nothing_selected">你必须选择一个文件</string>
+ <string name="useTLSAuth">使用 TLS 认证</string>
+ <string name="ipv6_dialog_tile">输入 CIDR 格式的 IPv6 地址/网络掩码(例如 2000:dd::23/64)</string>
+ <string name="ipv4_dialog_title">输入 CIDR 格式的 IPv4 地址/网络掩码(例如 1.2.3.4/24)</string>
<string name="ipv4_address">IPv4 地址</string>
<string name="ipv6_address">IPv6 地址</string>
<string name="custom_option_warning">请谨慎输入 OpenVPN 的自定义选项。此外请注意许多与 tun 模块有关的 OpenVPN 设置由于系统 VPN 功能的设计而不能得到支持。如果您觉得缺少一个很重要的选项,请与作者联系。</string>
@@ -40,68 +39,37 @@
<string name="static_keys_info">静态配置中 TLS 身份验证密钥将被用作静态密钥</string>
<string name="configure_the_vpn">配置 VPN</string>
<string name="menu_add_profile">添加配置文件</string>
- <string name="add_profile_name_prompt">输入新配置文件名:</string>
+ <string name="add_profile_name_prompt">输入新配置文件的名字</string>
<string name="duplicate_profile_name">请输入一个唯一的配置文件名称</string>
<string name="profilename">配置文件名称</string>
<string name="no_keystore_cert_selected">您必须选择一个用户证书</string>
- <string name="no_error_found">未找到错误</string>
- <string name="config_error_found">配置有错误</string>
<string name="ipv4_format_error">无法解析 IPv4 地址</string>
<string name="custom_route_format_error">无法解析自定义路由</string>
<string name="pw_query_hint">(根据需求留空)</string>
<string name="vpn_shortcut">OpenVPN 主屏幕快捷方式</string>
- <string name="vpn_launch_title">连接至 VPN</string>
- <string name="shortcut_profile_notfound">未找到快捷方式中指定的配置文件</string>
- <string name="random_host_prefix">随机主机前缀</string>
- <string name="random_host_summary">在主机名前添加6个随机字符</string>
- <string name="custom_config_title">启用自定义选项</string>
- <string name="custom_config_summary">指定自定义选项。小心!</string>
- <string name="route_rejected">Android 拒绝了路由</string>
- <string name="cancel_connection">断开</string>
- <string name="cancel_connection_long">断开连接</string>
- <string name="clear_log">清除日志</string>
- <string name="title_cancel">取消确认</string>
- <string name="cancel_connection_query">断开已连接的 VPN / 取消连接尝试?</string>
- <string name="remove_vpn">删除 VPN</string>
+ <string name="cancel_connection_long">断开VPN</string>
+ <string name="title_cancel">确认取消</string>
<string name="check_remote_tlscert">检查服务器是否使用 TLS 服务器端扩展 (--remote-cert-tlsserver server)</string>
<string name="check_remote_tlscert_title">需要 TLS 服务器证书</string>
<string name="remote_tlscn_check_summary">检查远程服务器证书的 DN 属性</string>
<string name="remote_tlscn_check_title">证书主机名检查</string>
<string name="enter_tlscn_dialog">勾选此项将验证远程证书的 DN 属性(例:C=DE, L=Paderborn, OU=Avian IP Carriers, CN=openvpn.blinkt.de)\n\n输入完整的 DN 或者 RDN 以便进行验证。\n\nRDN前缀 \"Server\" 可以匹配 \"Server-1\" 以及 \"SERVER-2\"\n\n若留空则将仅验证 RDN 而不验证主机名。\n\n有关更多信息请查看 OpenVPN 2.3.1+ 参考手册的 --verify-x509-name 小节</string>
<string name="enter_tlscn_title">远程证书主题</string>
- <string name="tls_key_auth">启用 TLS 密钥认证</string>
- <string name="tls_auth_file">TLS 认证文件</string>
<string name="pull_on_summary">从服务器请求 IP 地址、 路由规则和计时选项。</string>
<string name="pull_off_summary">没有从服务器请求信息。设置需要在下方被指定。</string>
<string name="use_pull">Pull 设置</string>
- <string name="dns">DNS</string>
- <string name="override_dns">覆盖服务器 DNS 设置</string>
- <string name="dns_override_summary">使用自定义 DNS 服务器</string>
- <string name="searchdomain">搜索域</string>
- <string name="dns1_summary">要使用的 DNS 服务器</string>
- <string name="dns_server">DNS 服务器</string>
- <string name="secondary_dns_message">如果无法达到主 DNS 服务器,要使用辅助 DNS 服务器。</string>
- <string name="backup_dns">备用 DNS 服务器</string>
- <string name="ignored_pushed_routes">忽略推送路由</string>
- <string name="ignore_routes_summary">忽略服务器推送的路由</string>
+ <string name="secondary_dns_message">无法使用主 DNS 服务器时会使用辅助 DNS 服务器。</string>
+ <string name="ignore_routes_summary">不使用服务器推送的路由</string>
<string name="default_route_summary">重定向所有流量到VPN</string>
- <string name="use_default_title">使用默认路由</string>
- <string name="custom_route_message">输入自定义路由。输入 CIDR 格式地址。</string>
- <string name="custom_route_message_excluded">路线不应该被路由通过VPN。使用相同的语法包括路线。</string>
- <string name="custom_routes_title">自定义路由</string>
- <string name="custom_routes_title_excluded">排查网络</string>
- <string name="log_verbosity_level">日志详细级别</string>
- <string name="float_summary">允许来自任何 IP 的认证数据包</string>
- <string name="float_title">允许浮服务器</string>
- <string name="custom_options_title">自定义选项</string>
- <string name="edit_vpn">编辑 VPN 设置</string>
+ <string name="custom_route_message">输入自定义路由。目标地址只能用CIDR格式。\"10.0.0.0/8 2002::/16\" 将会通过VPN重定向到10.0.0.0/8 和 2002::/16 网络。</string>
+ <string name="custom_route_message_excluded">不应该通过VPN路由的路线。使用自定义路由相同的语法。</string>
+ <string name="custom_routes_title_excluded">排除的路线</string>
+ <string name="float_title">允许不固定服务器</string>
<string name="remove_vpn_query">移除 VPN 配置文件 \'%s\' 吗?</string>
- <string name="tun_error_helpful">在某些自定义 ICS 版本上,/dev/tun 的权限可能会有错误,或者根本就没有该文件。CM9 用户请尝试通过本程序的设置功能修复权限</string>
- <string name="tun_open_error">未能打开 tun 模块</string>
- <string name="error">错误</string>
- <string name="clear">清除</string>
+ <string name="tun_error_helpful">在某些自定义 ICS 系统版本上,/dev/tun 的权限可能会有错误,或者根本就没有该文件。CM9 系统用户请尝试通过本程序设置中的修复选项进行权限修复。</string>
+ <string name="tun_open_error">打开 tun 接口失败</string>
+ <string name="error">错误:</string>
<string name="last_openvpn_tun_config">正在打开 tun 设备:</string>
- <string name="local_ip_info">本地 IPv4: %1$s/%2$d IPv6: %3$s MTU: %4$d</string>
<string name="dns_server_info">DNS 服务器: %1$s, 域名: %2$s</string>
<string name="routes_info_incl">路线: %1$s %2$s</string>
<string name="routes_info_excl">排除的路由: %1$s %2$s</string>
@@ -110,107 +78,48 @@
<string name="route_not_cidr">无法将 %1$s 和 %2$s 作为 CIDR 形式的路由,将使用 /32 的子网掩码。</string>
<string name="route_not_netip">纠正路由 %1$s/%2$s 为 %3$s/%2$s</string>
<string name="keychain_access">不能访问 Android 密钥链证书。这可能是由于固件升级或通过还原备份的应用程序/软件设置造成的。请编辑 VPN 配置文件并在基本设置中重新选择证书以重新创建证书访问权限。</string>
- <string name="version_info">%1$s %2$s</string>
- <string name="send_logfile">发送日志文件</string>
- <string name="send">发送</string>
- <string name="ics_openvpn_log_file">ICS OpenVPN 日志文件</string>
- <string name="copied_entry">日志条目已复制剪贴板</string>
- <string name="tap_mode">Tap 模式</string>
<string name="faq_tap_mode">Tap 模式在未 root 的机器上不可用。因此本程序无法提供 tap 模块支持</string>
<string name="tap_faq2">还来? 您在开玩笑嘛? tap 连接模式是不支持的,不要再发邮件问这些问题了。</string>
<string name="tap_faq3">这已经是第三次有人问这个问题了。好吧,虽然确实可以在 TAP 设备上写一个 TAP 模拟器,给发送出去的数据包添加第二层网络头,并去掉收到的数据包中的第二层网络头,但是这个 TAP 模拟器可能还需要实现 ARP 甚至 DHCP 客户端功能。我目前不知道有谁在做这方面的工作。如果你想开展这方面的编码工作的话,请联系我。</string>
- <string name="faq">常见问题</string>
- <string name="copying_log_entries">复制日志条目</string>
<string name="faq_copying">若要复制单条日志请在相应条目上轻按即可。若要复制/发送全部日志请使用发送日志功能。如果该功能在界面中没有显示,请使用设备原生的菜单按钮。</string>
- <string name="faq_shortcut">启动快捷方式</string>
<string name="faq_howto_shortcut">你可以在桌面上放置一个启动 OpenVPN 的图标。如果你的桌面程序支持,你可以在桌面上放置 OpenVPN 的启动图标,或者是 OpenVPN 的桌面挂件</string>
<string name="no_vpn_support_image">很遗憾,您目前的系统不支持 VPN 服务接口</string>
- <string name="encryption">加密</string>
- <string name="cipher_dialog_title">输入加密方法</string>
<string name="chipher_dialog_message">输入 OpenVPN 所使用的加密密码算法。留空以使用默认算法。</string>
<string name="auth_dialog_message">输入 OpenVPN 使用的认证摘要。留空则使用默认的摘要。</string>
- <string name="settings_auth">认证/加密</string>
- <string name="file_explorer_tab">文件浏览器</string>
<string name="inline_file_tab">内联文件</string>
- <string name="error_importing_file">导入文件出错</string>
- <string name="import_error_message">无法导入文件系统文件</string>
<string name="inline_file_data">[[内联文件数据]]</string>
<string name="opentun_no_ipaddr">无 IP 信息,拒绝打开 tun 设备</string>
- <string name="menu_import">从 ovpn 文件中导入配置文件</string>
- <string name="menu_import_short">导入</string>
- <string name="import_content_resolve_error">无法读取要导入的配置文件</string>
- <string name="error_reading_config_file">读取配置文件发生出错</string>
- <string name="add_profile">添加配置文件</string>
- <string name="import_could_not_open">无法找到导入配置文件参考的文件: %1$s</string>
- <string name="importing_config">从 %1$s 中导入配置文件</string>
<string name="import_warning_custom_options">您的配置文件中有几个配置项无法在配置菜单中查看和修改,这些配置项将会当成自定义配置选项。下面是这些自定义的配置选项:</string>
- <string name="import_done">读取配置文件完成</string>
- <string name="nobind_summary">不关联到本地地址和端口</string>
<string name="no_bind">无本地绑定</string>
- <string name="import_configuration_file">导入配置文件</string>
- <string name="faq_security_title">安全注意</string>
<string name="faq_security">“OpenVPN 是非常注重安全的,所以在此提供一些安全方面的建议。所有保存在存储卡上的数据都是不安全的,任何应用都可以读取存储卡上的文件,即使这个应用没有‘写入存储卡’的权限也是如此。应用自身的数据只能被应用自己读取。在选择 CA 证书、证书文件或者密钥文件的时候请使用导入功能,这样这些数据就会保存在 OpenVPN 自身的数据文件中,保证不会被其他的应用恶意读取。当然导入证书之后记得要把证书从存储卡上删除掉。不过,虽然这些数据不能被其他应用读取,但是这些数据是明文保存的,如果你的系统是 rooted 的,那么这些数据将能够被任何拥有 root 权限的应用轻松地读取。保存在 OpenVPN 中的密码也是以明文保存的,如果设备被 rooted 了,这些密码也有可能被其他应用恶意读取。强烈建议使用 pkcs12 证书并将证书导入到 Android 自己的证书管理系统里。”</string>
- <string name="import_vpn">导入</string>
- <string name="broken_image_cert_title">显示证书发生错误</string>
<string name="broken_image_cert">尝试显示 Android 4.0 + 证书选择对话框时出现异常。Android 4.0 以上的系统不可能出现该问题,因为这是标准的系统功能。可能您当前 ROM 中的证书存储已经损坏。</string>
- <string name="ipv4">IPv4</string>
- <string name="ipv6">IPv6</string>
- <string name="speed_waiting">等待状态消息</string>
- <string name="converted_profile">已导入配置文件</string>
- <string name="converted_profile_i">已导入配置文件 %d</string>
<string name="broken_images">图像已损坏</string>
<string name="broken_images_faq">&lt;p&gt;HTC官方固件可能存在异常的路由问题并会导致数据流不通过隧道传输(详见BUG追踪&lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=18\"&gt;Issue 18&lt;/a&gt;)。&lt;/p&gt;&lt;p&gt;据报导,旧版的SONY Xperia Arc S和Xperia Ray的官方固件完全不包含VPNService(详见BUG追踪&lt;a href=\"http://code.google.com/p/ics-openvpn/issues/detail?id=29\"&gt;Issue 29&lt;/a&gt;)。&lt;/p&gt;&lt;p&gt;在自制固件中,tun
模块可能会有缺失,或是未被设置正确的权限。部分CM9固件需要启用“特定设备HACKS”项下的“修复/dev/tun的权限”的选项。&lt;/p&gt;&lt;p&gt;最重要的是:若您的设备的固件存在问题,请直接向您的设备供应商反馈。越多人向供应商反映问题,问题越有可能得到解决。&lt;/p&gt;</string>
- <string name="pkcs12_file_encryption_key">PKCS12 文件加密密钥</string>
- <string name="private_key_password">私钥密码</string>
- <string name="password">密码</string>
- <string name="file_icon">文件图标</string>
- <string name="tls_authentication">TLS 认证</string>
- <string name="generated_config">已生成的配置</string>
<string name="generalsettings">设置</string>
<string name="owner_fix_summary">尝试设定 /dev/tun 的属主为 system。一些 CM9 ROM 需要它以使 VPNService API 工作。本操作需要 root 权限。</string>
<string name="owner_fix">修复 /dev/tun 的权限</string>
- <string name="generated_config_summary">显示已生成的 OpenVPN 配置文件</string>
- <string name="edit_profile_title">编辑 %s</string>
- <string name="building_configration">正在生成配置</string>
- <string name="netchange_summary">启用该选项以在网络变化(例如从蜂窝数据到 WiFi)时强制重新连接</string>
- <string name="netchange">当转换网络时重新连接</string>
- <string name="netstatus">网络状态: %s</string>
+ <string name="netchange_summary">启用该选项以在网络变化(例如在蜂窝数据和 WiFi 之间切换)时强制重新连接</string>
<string name="extracahint">Android 密钥库通常会自带 CA 证书。如果您获取的证书发生验证错误,请单独指定一个证书。</string>
- <string name="select_file">选择</string>
<string name="keychain_nocacert">在 Android 密钥库中未找到任何 CA 证书。可能验证失败。</string>
<string name="show_log_summary">连接时显示日志窗口。日志窗口可始终从通知栏访问。</string>
- <string name="show_log_window">显示日志窗口</string>
+ <string name="mobile_info">%10$s %9$s running on %3$s %1$s (%2$s), Android %6$s (%7$s) API %4$d, ABI %5$s, (%8$s)</string>
<string name="error_rsa_sign">与 Android 密钥库 %1$s 签名时出错: %2$s</string>
<string name="faq_system_dialogs">VPN 连接警告会告诉你有程序正要拦截所有的网络流量,这是为了确保 VPN 服务的 API 不被恶意应用滥用。\nVPN 连接通知(通知栏上的钥匙图标)是 Android 系统内建的,如果当前有 VPN 连接,Android 系统就会自动显示这个通知图标。一些系统上还会在 VPN 连接建立的时候发出提示音。Android 这么做的原因是为了保护你不受恶意应用的欺骗。</string>
<string name="faq_system_dialogs_title">连接警告和通知声音</string>
<string name="translationby">中文翻译:Christopher Meng
&lt;trans@cicku.me&gt;</string>
- <string name="ipdns">IP 和 DNS 设置</string>
- <string name="basic">基本</string>
- <string name="routing">路由设置</string>
- <string name="obscure">其他 OpenVPN 设置,一般不需要修改。</string>
- <string name="advanced">高级设置</string>
<string name="export_config_title">ICS Openvpn 配置</string>
<string name="warn_no_dns">没有使用 DNS 服务器,无法解析域名,请考虑设置一个 DNS 服务器。请注意,即使你没有设置 DNS 服务器,你为移动网络以及 Wi-Fi 设置的代理服务器配置也是有效的。</string>
<string name="dns_add_error">无法添加 DNS 服务器 \"%1$s\",%2$s 拒绝了您的操作。</string>
<string name="ip_add_error">无法配置 IP 地址 %1$s,被系统拒绝:%2$s</string>
<string name="faq_howto">&lt;p&gt;获取你的 VPN 配置文件,可以是在电脑上正在使用的 OpenVPN 客户端配置文件,也可以向你的 VPN 服务商索取配置文件。&lt;/p&gt;&lt;p&gt;如果配置文件只有一个,可以把配置文件发到你自己的邮箱然后从手机上下载。如果配置文件有很多个,可以将它们复制到存储卡内。&lt;/p&gt;&lt;p&gt;从邮件中下载附件,或者在 VPN 列表中点击文件夹图标来导入配置文件。&lt;/p&gt;&lt;p&gt;如果提示找不到文件,那就将缺失的文件复制到存储卡内。&lt;/p&gt;&lt;p&gt;点击保存,将配置文件保存到你的 VPN 列表中。&lt;/p&gt;&lt;p&gt;在 VPN 列表中点击 VPN 的连接的名字,就可以连接到 VPN 了。&lt;/p&gt;&lt;p&gt;如果发生错误,可以看日志窗口中的日志,然后设法解决问题。&lt;/p&gt; </string>
- <string name="faq_howto_title">快速入门</string>
- <string name="setting_loadtun_summary">尝试在连接之前加载 tun.ko 内核模块。需要 root 权限。</string>
- <string name="setting_loadtun">载入 tun 模块</string>
- <string name="importpkcs12fromconfig">将 PKCS12 导入 Android 密钥库</string>
- <string name="getproxy_error">获取代理设置时出错:%s</string>
<string name="using_proxy">使用代理 %1$s %2$d</string>
<string name="use_system_proxy">使用系统代理</string>
<string name="use_system_proxy_summary">使用系统设置连接 HTTP/HTTPS 代理服务器。</string>
- <string name="donatewithpaypal">您可以 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt; 通过 PayPal 捐助&lt;/a&gt;</string>
- <string name="onbootrestartsummary">OpenVPN 将会在重启后自动重新连接 VPN。请在启用该选项前先阅读连接警告的常见问题解答。</string>
- <string name="onbootrestart">重启时重新连接</string>
- <string name="ignore">忽略</string>
- <string name="restart">重启</string>
+ <string name="onbootrestartsummary">如果在系统启动时OpenVPN处于活动状态,那么它会连接指定的VPN。在Android 5.0上使用这个选项前,请阅读连接警告的常见问题。</string>
+ <string name="onbootrestart">启动时连接</string>
<string name="restart_vpn_after_change">配置的变更将在重启 VPN 后生效,是否立即重启?</string>
- <string name="configuration_changed">配置已更改</string>
<string name="log_no_last_vpn">无法判断最后一次连接使用的是哪个配置文件,所以无法编辑配置文件</string>
<string name="faq_duplicate_notification_title">重复的通知</string>
<string name="faq_duplicate_notification">当 Android 系统的内存(RAM)即将耗尽的时候,不再需要的应用和服务将被关闭以腾出内存空间,这项机制也会影响到 VPN 进程。为了保证 OpenVPN 及其连接不被关闭,OpenVPN 服务会以较高的优先级运行,而为了以较高的优先级运行,OpenVPN 必须在状态栏显示一个图标。正如前面的问题中说过的,系统的“钥匙”图标是系统内建的,仅仅显示这个“钥匙”图标并不能让 OpenVPN 以更高的优先级运行。</string>
@@ -220,8 +129,6 @@
<string name="faq_hint">请确保阅读常见问题解答。这是一个快速向导。</string>
<string name="faq_routing_title">路由/接口配置</string>
<string name="faq_routing">的路由和接口配置不通过传统的ifconfig /路由的命令而将用VPNService API来完成。这导致了比在其它操作系统不同的路由配置。 \ n此VPN隧道的配置包括IP地址,并应被指定到该接口的网络。特别是,没有同行伙伴地址或网关地址是必要的或需要。特殊的路由到达VPN服务器不需要任何(例如,当使用重定向网关添加)。导入配置时,应用程序会因此忽略这些设置。该应用程序可确保与连接到服务器没有通过VPN隧道路由的VPNService API。\ n此VPNService API不允许指定的网络,不应该通过VPN路由。作为一种变通方法的应用程序会检测网络,不应该被路由到隧道(如路由XXXX YYYY net_gateway),并计算一组路由排除这种路线效仿其他平台的行为。日志窗口显示VPNService的在建立连接的配置\ nBehind的场景:安卓4.4+确实使用策略路由。使用route / ifconfig命令不会显示已安装的路径。而使用IP规则,iptables的-t轧-L</string>
- <string name="persisttun_summary">当 OpenVPN 重连时,也一直使用 VPN 连接。</string>
- <string name="persistent_tun_title">保持 tun 通道</string>
<string name="openvpn_log">OpenVPN 日志</string>
<string name="import_config">导入 OpenVPN 配置文件</string>
<string name="battery_consumption_title">电池消耗</string>
@@ -253,7 +160,6 @@
<string name="state_tcp_connect">连接中(TCP)</string>
<string name="state_auth_failed">验证失败</string>
<string name="state_nonetwork">等待可用网络</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
<string name="notifcation_title_notconnect">未连接</string>
<string name="start_vpn_title">正在连接 VPN %s</string>
<string name="start_vpn_ticker">正在连接 VPN %s</string>
@@ -359,16 +265,61 @@
<string name="ab_kitkat_mss">早期的KitKat版本在TCP连接上设置了错误的MSS值 (#61948)。OpenVPN将自动启动mssfix选项来解决这个Bug。</string>
<string name="ab_proxy">在DNS服务没有设置的情况下,安卓会继续使用手机wifi的代理设置。 安卓OpenVPN会在日志文件中留下警告信息。在VPN设置DNS服务时,安卓不是代理;安卓系统里没有为vpn连接设置代理的程序接口。</string>
<string name="ab_lollipop_reinstall">在被卸载或重新安装时,VPN程序会停止工作;详细信息请参看 #80074</string>
+ <string name="ab_not_route_to_vpn">The configured client IP and the IPs in its network mask are not routed to the VPN. OpenVPN works around this bug by explicitly adding a route that corrosponds to the client IP and its netmask</string>
+ <string name="ab_persist_tun">Opening a tun device while another tun device is active, which is used for persist-tun support, crashes the VPNServices on the device. A reboot is required to make VPN work again. OpenVPN for Android tries to avoid reopening the tun device and if really needed first closes the current TUN before opening the new TUN device to avoid to crash. This may lead to a short window where packets are sent over the non-VPN connection. Even with this workaround the VPNServices sometimes crashes and requires a reboot of the device.</string>
+ <string name="ab_secondary_users">对于次级用户而言,VPN是不会起作用的。</string>
+ <string name="ab_kitkat_reconnect">有多个用户报告说,在使用VPN应用时,移动连接/移动数据连接经常会掉线。该行为似乎只影响一些移动运营商/设备组合,目前为止尚未确定原因及bug解决方案。</string>
+ <string name="ab_vpn_reachability_44">只有目标可以通过VPN,可以到达VPN没有达到。 IPv6的VPN不能在所有工作。</string>
<string name="ab_only_cidr_title">非CIDR路由</string>
+ <string name="ab_proxy_title">对于VPN的代理行为</string>
<string name="ab_lollipop_reinstall_title">正在重新安装VPN应用</string>
+ <string name="version_upto">%s及更早版本</string>
+ <string name="copy_of_profile">%s 的副本</string>
+ <string name="ab_not_route_to_vpn_title">路由到已配置的 IP 地址</string>
+ <string name="ab_kitkat_mss_title">VPN 连接出现 MSS 值错误</string>
+ <string name="ab_secondary_users_title">非Android平板的主用户</string>
+ <string name="custom_connection_options_warng">指定自定义连接的特定选项。请谨慎使用</string>
<string name="custom_connection_options">自定义选项</string>
<string name="remove_connection_entry">删除连接条目</string>
+ <string name="ab_kitkat_reconnect_title">随机从移动网络断开连接</string>
+ <string name="ab_vpn_reachability_44_title">远程网络不可达</string>
<string name="ab_persist_tun_title">保持 tun 通道模式</string>
+ <string name="version_and_later">%s 及更高版本</string>
+ <string name="tls_cipher_alert_title">连接失败 SSL23_GET_SERVER_HELLO:SSLv3警报 握手失败</string>
+ <string name="tls_cipher_alert">较新的OpenVPN for Android版本 (0.6.29/2015年3月) 为 (tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\") 密码套件使用更安全的默认设置。不幸的是,省略了不太安全的加密套件和导出加密套件,尤其是完全正向保密密码套件 (差分哈夫曼编码) 的缺失会导致一些问题。这通常是由用心良苦但执行力很差的家伙试图通过设置服务器上的TLS套件或在一些嵌入式操作系统 (如软路由系统Mikro Tik) 上定制SSL以加强TLS安全性导致。\n 要解决导致这个问题需要在服务器上把TLS-CIPHER配置为合理的默认值,比如tls-cipher \"DEFAULT:!EXP:!PSK:!SRP:!kRSA\"。如果你搞不定系统管理员,可以在客户端解决,在Android客户端添加自定义选项 tls-cipher DEFAULT即可。</string>
+ <string name="message_no_user_edit">此档案已从外部程序 (%s) 加载并被标记为不可用户编辑。</string>
<string name="crl_file">证书吊销列表</string>
+ <string name="service_restarted">重新启动OpenVPN服务中 (应用程序崩溃-可能是真崩溃或由于内存不够用被kill)</string>
+ <string name="import_config_error">导入配置时出了点错,无法保存</string>
<string name="Search">搜索</string>
+ <string name="lastdumpdate">(最后转储 %1$d:%2$dh old (%3$s))</string>
<string name="clear_log_on_connect">建立新连接时清空日志</string>
<string name="connect_timeout">连接超时</string>
+ <string name="no_allowed_app">没有允许的应用程序被添加。加入本应用 (%s) 以保证允许的应用程序列表中至少有一个应用程序从而禁止其他所有应用</string>
<string name="query_permissions_sdcard">OpenVPN for Android 可以尝试自动在 SD 卡上寻找缺失的文件。点击此消息开始请求权限许可。</string>
<string name="protocol">协议</string>
<string name="enabled_connection_entry">启用</string>
+ <string name="abi_mismatch">Preferred native ABI precedence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
+ <string name="permission_revoked">VPN权限被操作系统撤销 (比如其他VPN程序启动了) ,VPN停止中</string>
+ <string name="pushpeerinfo">推送客户端信息</string>
+ <string name="pushpeerinfosummary">将额外的信息发送到服务器,例如 SSL 版本和 Android 版本</string>
+ <string name="pw_request_dialog_title">需要 %1$s</string>
+ <string name="pw_request_dialog_prompt">请为配置文件 %1$s 输入密码</string>
+ <string name="menu_use_inline_data">使用内联数据</string>
+ <string name="export_config_chooser_title">导出配置文件</string>
+ <string name="missing_tlsauth">tls-auth 文件丢失</string>
+ <string name="missing_certificates">缺少用户证书或用户证书密钥文件</string>
+ <string name="missing_ca_certificate">缺少CA证书</string>
+ <string name="crl_title">证书吊销列表 (可选)</string>
+ <string name="reread_log">从日志缓存文件重读 (%d) 日志项目</string>
+ <string name="samsung_broken">三星手机几乎是最热销的安卓机,同时三星的固件也是bug最多的 Android 固件。Bug 并不局限于运行在这些设备上的VPN,但其中许多可以是可以想办法绕开的。下面列出几个已知Bug:\n\nDNS 不工作,除非其在VPN 地址池内.\n\n很多三星5.X设备上 允许/禁止 应用程序的特性并不能工作。 \n在三星 6.x 机器上只有VPN应用被加入省电模式白名单之后VPN才能工作。</string>
+ <string name="samsung_broken_title">三星手机</string>
+ <string name="novpn_selected">没有选定的 VPN。</string>
+ <string name="reconnect">重新连接</string>
+ <string name="qs_title">VPN切换</string>
+ <string name="qs_connect">连接到%s</string>
+ <string name="qs_disconnect">断开%s</string>
+ <string name="connectretrymaxmessage">输入连接重试时间间隔的最大值。OpenVPN在每次不成功的连接尝试后都会慢慢提高等待时间,直到提高到这个值后停止。默认值300秒。</string>
+ <string name="connectretrymaxtitle">连接重试最长间隔</string>
+ <string name="state_waitconnectretry">连接重试期间已等待 %s 秒</string>
</resources>
diff --git a/main/src/main/res/values-zh-rTW/arrays.xml b/main/src/main/res/values-zh-rTW/arrays.xml
index 58c64235..ceea7e05 100755
--- a/main/src/main/res/values-zh-rTW/arrays.xml
+++ b/main/src/main/res/values-zh-rTW/arrays.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!--Generated by crowdin.com-->
+<!--
+ ~ Copyright (c) 2012-2016 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
<resources>
+ <!-- Keep the order the same as the TYPE_ constants in VPNProfile -->
<string-array name="vpn_types">
<item>證書</item>
<item>PKCS12 檔案</item>
- <item>Android證書</item>
+ <item>Android 憑證</item>
<item>用戶名稱/密碼</item>
<item>固定金鑰(Static Keys)</item>
<item>用戶名稱/密碼 + 證書</item>
@@ -12,8 +17,9 @@
<item>用戶名稱/密碼 + Android</item>
</string-array>
<string-array name="tls_directions_entries">
- <item>0</item>
- <item>1</item>
- <item>未指定</item>
+ <item translatable="false">0</item>
+ <item translatable="false">1</item>
+ <item>不指定</item>
+ <item>加密 (tls-crypt)</item>
</string-array>
</resources>
diff --git a/main/src/main/res/values-zh-rTW/plurals.xml b/main/src/main/res/values-zh-rTW/plurals.xml
new file mode 100755
index 00000000..70489fbc
--- /dev/null
+++ b/main/src/main/res/values-zh-rTW/plurals.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<resources></resources>
diff --git a/main/src/main/res/values-zh-rTW/strings.xml b/main/src/main/res/values-zh-rTW/strings.xml
index 5fd98e51..01e170f2 100755
--- a/main/src/main/res/values-zh-rTW/strings.xml
+++ b/main/src/main/res/values-zh-rTW/strings.xml
@@ -6,73 +6,74 @@
-->
<resources>
<string name="app">OpenVPN for Android</string>
- <string name="address">伺服器地址:</string>
+ <string name="address">伺服器地址:</string>
<string name="port">伺服器端口:</string>
<string name="location">位置</string>
- <string name="cant_read_folder">目法讀取檔案目錄</string>
+ <string name="cant_read_folder">無法讀取檔案目錄</string>
<string name="select">選擇</string>
<string name="cancel">取消</string>
<string name="no_data">沒有資料</string>
- <string name="useLZO">LZO壓縮</string>
- <string name="client_no_certificate">沒有證書</string>
- <string name="client_certificate_title">客戶端證書</string>
- <string name="client_key_title">客戶端證書密鑰</string>
+ <string name="useLZO">LZO 壓縮</string>
+ <string name="client_no_certificate">沒有憑證</string>
+ <string name="client_certificate_title">客戶端憑證</string>
+ <string name="client_key_title">客戶端憑證密鑰</string>
<string name="client_pkcs12_title">PKCS12 檔案</string>
- <string name="ca_title">CA證書</string>
- <string name="no_certificate">您必須選擇一個證書</string>
- <string name="copyright_guicode">源代碼和問題跟踪器可在https://github.com/schwabe/ics-openvpn/</string>
- <string name="copyright_others">該方案採用了以下組件; 看到源代碼的許可證的全部細節</string>
- <string name="about">左右</string>
- <string name="vpn_list_title">簡介</string>
+ <string name="ca_title">CA 憑證</string>
+ <string name="no_certificate">您必須選擇一個憑證</string>
+ <string name="copyright_guicode">取得原始碼與事件追蹤,可上 https://github.com/schwabe/ics-openvpn/</string>
+ <string name="copyright_others">本程式使用了以下元件,在原始碼中的授權條款查看完整細節。</string>
+ <string name="about">關於</string>
+ <string name="vpn_list_title">設定檔</string>
<string name="vpn_type">類型</string>
- <string name="pkcs12pwquery">PKCS12密碼</string>
- <string name="file_select">選擇...</string>
- <string name="file_nothing_selected">你必須選擇一個文件</string>
- <string name="useTLSAuth">使用TLS認證</string>
- <string name="tls_direction">TLS方向</string>
- <string name="ipv6_dialog_tile">進入IPv6地址/子網掩碼CIDR格式(例如2000:DD ::六十四分之二十三)</string>
- <string name="ipv4_dialog_title">輸入IPv4地址/子網掩碼CIDR格式(例如:1.2.3.4/24)</string>
- <string name="ipv4_address">IPv4地址</string>
- <string name="ipv6_address">IPv6的地址</string>
- <string name="custom_option_warning">輸入自定義的OpenVPN選項。請謹慎使用。另外請注意,許多囤地的相關OpenVPN的設置不能被VPNSettings的設計支持。如果您認為一個重要的選擇缺少聯繫作者</string>
- <string name="auth_username">用戶名</string>
+ <string name="pkcs12pwquery">PKCS12 密碼</string>
+ <string name="file_select">選擇&#8230;</string>
+ <string name="file_nothing_selected">你必須選擇一個檔案</string>
+ <string name="useTLSAuth">使用 TLS 認證</string>
+ <string name="tls_direction">TLS 方向</string>
+ <string name="ipv6_dialog_tile">以 CIDR 格式輸入 IPv6 位址/遮罩 (例如 2000:dd::23/64)</string>
+ <string name="ipv4_dialog_title">以 CIDR 格式輸入 IPv4 地址/遮罩 (例如 1.2.3.4/24)</string>
+ <string name="ipv4_address">IPv4 位址</string>
+ <string name="ipv6_address">IPv6 地址</string>
+ <string name="custom_option_warning">輸入自訂的 OpenVPN 選項。請謹慎使用。另外請注意,VPNSettings 的設計並不支援許多 tun 通道相關 OpenVPN 設定 。如果您認為有缺少重要的設定選項,請聯絡作者。</string>
+ <string name="auth_username">用戶名稱</string>
<string name="auth_pwquery">密碼</string>
- <string name="static_keys_info">為靜態配置所述TLS驗證密鑰將被用來作為靜態密鑰</string>
- <string name="configure_the_vpn">配置VPN</string>
- <string name="menu_add_profile">添加簡介</string>
- <string name="add_profile_name_prompt">輸入一個名稱標識新的配置文件</string>
- <string name="duplicate_profile_name">請輸入一個唯一的配置文件名稱</string>
- <string name="profilename">配置文件名稱</string>
- <string name="no_keystore_cert_selected">您必須選擇一個用戶證書</string>
- <string name="no_error_found">未有找到錯誤</string>
- <string name="config_error_found">在配置錯誤</string>
- <string name="ipv4_format_error">錯誤解析IPv4地址</string>
- <string name="custom_route_format_error">錯誤解析自定義路線</string>
- <string name="pw_query_hint">(留空按需查詢)</string>
- <string name="vpn_shortcut">OpenVPN捷徑</string>
- <string name="vpn_launch_title">連線到VPN</string>
- <string name="shortcut_profile_notfound">在快捷方式找不到指定的設定檔</string>
- <string name="random_host_prefix">隨機主機名稱字首</string>
- <string name="random_host_summary">在主機名稱前加入6個隨機字符</string>
+ <string name="static_keys_info">對於靜態設定,TLS 認證金鑰將會用作靜態金鑰。</string>
+ <string name="configure_the_vpn">設定 VPN</string>
+ <string name="menu_add_profile">新增設定檔</string>
+ <string name="add_profile_name_prompt">輸入新的設定檔名稱</string>
+ <string name="duplicate_profile_name">請輸入不重複的設定檔名稱</string>
+ <string name="profilename">設定檔名稱</string>
+ <string name="no_keystore_cert_selected">你必須選擇一個使用者憑證</string>
+ <string name="no_ca_cert_selected">您必須選擇一個憑證</string>
+ <string name="no_error_found">未找到錯誤</string>
+ <string name="config_error_found">設定中含有錯誤</string>
+ <string name="ipv4_format_error">解析 IPv4 地址時發生錯誤</string>
+ <string name="custom_route_format_error">解析自訂路由時發生錯誤</string>
+ <string name="pw_query_hint">(如需查詢,請留空)</string>
+ <string name="vpn_shortcut">OpenVPN 捷徑</string>
+ <string name="vpn_launch_title">正在連線到 VPN...</string>
+ <string name="shortcut_profile_notfound">在捷徑中找不到指定的設定檔</string>
+ <string name="random_host_prefix">隨機主機名稱的前綴字</string>
+ <string name="random_host_summary">在主機名稱前加入 6 個隨機字元</string>
<string name="custom_config_title">啟用自訂選項</string>
- <string name="custom_config_summary">自訂選項,使用時請小心!</string>
- <string name="route_rejected">路由拒絕的Andr​​oid</string>
- <string name="cancel_connection">斷開連接</string>
- <string name="cancel_connection_long">斷開VPN</string>
- <string name="clear_log">清除日誌</string>
- <string name="title_cancel">取消確認</string>
- <string name="cancel_connection_query">斷開連接的VPN /取消連接嘗試?</string>
- <string name="remove_vpn">刪除VPN</string>
- <string name="check_remote_tlscert">檢查服務器是否使用TLS的服務器擴展(--remote-CERT-TLS服務器)的證書</string>
- <string name="check_remote_tlscert_title">預計TLS服務器證書</string>
- <string name="remote_tlscn_check_summary">檢查遠程服務器證書主題DN</string>
- <string name="remote_tlscn_check_title">證書主機名檢查</string>
+ <string name="custom_config_summary">指定自訂選項,請小心使用!</string>
+ <string name="route_rejected">路由被 Android 拒絕</string>
+ <string name="cancel_connection">中斷連線</string>
+ <string name="cancel_connection_long">中斷 VPN 連線</string>
+ <string name="clear_log">清除記錄</string>
+ <string name="title_cancel">確認取消</string>
+ <string name="cancel_connection_query">中斷已連接的 VPN /取消正在嘗試的連線?</string>
+ <string name="remove_vpn">移除 VPN</string>
+ <string name="check_remote_tlscert">檢查伺服器是否使用憑證與 TLS 伺服器擴充 (--remote-cert-tls 伺服器) </string>
+ <string name="check_remote_tlscert_title">預期的 TLS 伺服器憑證</string>
+ <string name="remote_tlscn_check_summary">檢查遠端的伺服器憑證主旨 DN</string>
+ <string name="remote_tlscn_check_title">憑證主機名稱檢查</string>
<string name="enter_tlscn_dialog">指定用於驗證遠程證書的DN(例如C = DE,L =帕德博恩,OU =禽流IP運營商,CN = openvpn.blinkt.de)\ñ\ n指定完整的DN或RDN檢查(openvpn.blinkt.de在這個例子中)或RDN前綴進行驗證。\ N使用RDN前綴“服務器”\ n當匹配“服務器1”和“服務器2”\ñ\ nLeaving文本字段為空將檢查RDN對服務器的主機名。 \ñ\ n有關詳細信息請參見下-verify-X509-名的OpenVPN 2.3.1+手冊頁</string>
- <string name="enter_tlscn_title">遠程證書主題</string>
- <string name="tls_key_auth">啟用TLS密鑰認證</string>
- <string name="tls_auth_file">TLS驗證文件</string>
- <string name="pull_on_summary">請求,則來自服務器的地址,路線和時機選擇。</string>
- <string name="pull_off_summary">沒有信息從服務器請求。設置需要規定如下。</string>
+ <string name="enter_tlscn_title">遠端憑證主旨</string>
+ <string name="tls_key_auth">啟用 TLS 密鑰認證</string>
+ <string name="tls_auth_file">TLS 驗證檔</string>
+ <string name="pull_on_summary">向伺服器請求 IP 地址,、路由和時間資訊</string>
+ <string name="pull_off_summary">沒有來自伺服器的資訊,需要在下面指定設定。</string>
<string name="use_pull">拉設置</string>
<string name="dns">DNS</string>
<string name="override_dns">覆蓋的DNS設置服務器</string>
@@ -82,45 +83,45 @@
<string name="dns_server">DNS服務器</string>
<string name="secondary_dns_message">備用DNS服務器使用,如果正常的DNS服務器無法到達。</string>
<string name="backup_dns">備份DNS服務器</string>
- <string name="ignored_pushed_routes">忽略推路線</string>
+ <string name="ignored_pushed_routes">忽略伺服器推送的路由</string>
<string name="ignore_routes_summary">忽略路由推服務器。</string>
- <string name="default_route_summary">重定向所有通過VPN</string>
- <string name="use_default_title">使用默認路由</string>
+ <string name="default_route_summary">重新所有流量導到 VPN</string>
+ <string name="use_default_title">使用預設路由</string>
<string name="custom_route_message">輸入自定義的路線。只有在CIDR格式輸入目的地。 “10.0.0.0/8 2002:: / 16”就直接網絡10.0.0.0/8和2002:: / 16通過VPN。</string>
<string name="custom_route_message_excluded">路線不應該被路由通過VPN。使用相同的語法包括路線。</string>
<string name="custom_routes_title">自定義路線</string>
<string name="custom_routes_title_excluded">排除網絡</string>
- <string name="log_verbosity_level">日誌級別</string>
+ <string name="log_verbosity_level">日誌的詳細等級</string>
<string name="float_summary">允許來自任何IP驗證的數據包</string>
- <string name="float_title">允許浮動服務器</string>
- <string name="custom_options_title">自定義選項</string>
- <string name="edit_vpn">編輯VPN設置</string>
- <string name="remove_vpn_query">刪除VPN配置文件“%s”?</string>
- <string name="tun_error_helpful">在一些定制IC圖片在/ dev / TUN的權限可能是錯誤的,或者囤模塊可能會完全丟失。對於CM9圖像嘗試在常規設置的固定所有權選項</string>
- <string name="tun_open_error">無法打開囤接口</string>
- <string name="error">“錯誤:”</string>
+ <string name="float_title">允許浮動伺服器</string>
+ <string name="custom_options_title">自訂選項</string>
+ <string name="edit_vpn">編輯 VPN 設定</string>
+ <string name="remove_vpn_query">要移除VPN設定檔 %s 嗎?</string>
+ <string name="tun_error_helpful">在一些自訂的 Android 4.0 (ICS) 中,/dev/tun 的權限也許是錯誤的或是完全沒有 tun 模組。對 CM9 來說,試著在全域設定中,修改擁有者的權限選項。</string>
+ <string name="tun_open_error">無法開啟 Tun 通道介面</string>
+ <string name="error">"錯誤: "</string>
<string name="clear">清除</string>
- <string name="last_openvpn_tun_config">打開TUN接口:</string>
- <string name="local_ip_info">本地IPv4:%1$s / %2$d的IPv6:%3$s MTU:%4$d</string>
- <string name="dns_server_info">DNS服務器:%1$s,域名:%2$s</string>
- <string name="routes_info_incl">路線:%1$s %2$s</string>
- <string name="routes_info_excl">路線排除:%1$s %2$s</string>
- <string name="routes_debug">安裝VpnService路線:%1$s %2$s</string>
+ <string name="last_openvpn_tun_config">打開 tun 介面:</string>
+ <string name="local_ip_info">本地 IPv4:%1$s / %2$d IPv6:%3$s MTU:%4$d</string>
+ <string name="dns_server_info">DNS 伺服器器:%1$s,域名:%2$s</string>
+ <string name="routes_info_incl">路由:%1$s %2$s</string>
+ <string name="routes_info_excl">排除的路由:%1$s %2$s</string>
+ <string name="routes_debug">VpnService 路由安裝:%1$s %2$s</string>
<string name="ip_not_cidr">GOT的接口信息%1$s和%2$s,假設第二個地址是遠程的對等地址。使用/ 32掩碼本地IP。通過OpenVPN的給定方式是“%3$s”。</string>
<string name="route_not_cidr">不能使%1$s和%2$s如IP路由CIDR子網掩碼感,使用/ 32子網掩碼。</string>
- <string name="route_not_netip">修正路線%1$s / %2$s到%3$s / %2$s</string>
+ <string name="route_not_netip">修正路由 %1$s / %2$s 到 %3$s / %2$s</string>
<string name="keychain_access">無法訪問Android鑰匙扣證書。這可以通過固件升級或通過恢復的應用程序/應用程序設置的備份引起。請編輯VPN和重新選擇下基本設置證書重新訪問證書的權限。</string>
<string name="version_info">%1$s %2$s</string>
- <string name="send_logfile">發送日誌文件</string>
- <string name="send">派</string>
- <string name="ics_openvpn_log_file">ICS OpenVPN的日誌文件</string>
- <string name="copied_entry">複製日誌條目夾板</string>
- <string name="tap_mode">點擊模式</string>
+ <string name="send_logfile">送出日誌檔案</string>
+ <string name="send">傳送</string>
+ <string name="ics_openvpn_log_file">ICS OpenVPN 日誌檔案</string>
+ <string name="copied_entry">已將記錄複製到剪貼簿</string>
+ <string name="tap_mode">Tap 模式</string>
<string name="faq_tap_mode">點擊模式是不可能的非根VPN API。因此,該應用程序不能提供自來水的支持</string>
- <string name="tap_faq2">了嗎?你在開玩笑吧?不,攻牙模式真的不支持和發送更多的郵件,詢問是否將支持也無濟於事。</string>
+ <string name="tap_faq2">再一次?你在開玩笑吧?這真的不支援 tap 模式,就算再寄電子郵件詢問能不能支援也是沒用的。</string>
<string name="faq">FAQ</string>
- <string name="copying_log_entries">複製記錄檔條目</string>
- <string name="faq_copying">要複製單個日誌條目按住上的日誌條目。若要複製/發送全部日誌請使用發送日誌選項。使用硬件菜單按鈕時,如果按鈕沒有在GUI可見。</string>
+ <string name="copying_log_entries">複製記錄項目</string>
+ <string name="faq_copying">若要複製單筆記錄,在此記錄項目上點選。若要複製/送出整筆記錄,使用送出記錄選項。如果這個按鈕在畫面中無法顯示,請使用實體的選單按鈕。</string>
<string name="faq_shortcut">以快捷方式啟動</string>
<string name="faq_howto_shortcut">您可以將快捷方式啟動 OpenVPN 在您的桌面上。根據您的主畫面程式必須添加一個快捷方式或小部件。</string>
<string name="no_vpn_support_image">你的Android ROM不支援VPN服務API,抱歉了。 :(</string>
@@ -134,8 +135,8 @@
<string name="error_importing_file">匯入過程中發生錯誤</string>
<string name="import_error_message">無法從檔案系統中匯入檔案</string>
<string name="inline_file_data">&lt;內嵌於設定檔&gt;</string>
- <string name="opentun_no_ipaddr">拒絕沒有IP信息打開tun設備</string>
- <string name="menu_import">匯入.ovpn檔案</string>
+ <string name="opentun_no_ipaddr">拒絕開啟 tun 沒有 IP 資訊的裝置</string>
+ <string name="menu_import">從 .ovpn 檔案匯入設定檔</string>
<string name="menu_import_short">匯入</string>
<string name="import_content_resolve_error">匯入過程中無法讀取設定檔</string>
<string name="error_reading_config_file">讀取設定檔時發生錯誤</string>
@@ -156,16 +157,16 @@
<string name="ipv6">IPv6</string>
<string name="speed_waiting">等待狀態訊息&#8230;</string>
<string name="converted_profile">匯入設定檔</string>
- <string name="converted_profile_i">匯入設定檔%d</string>
- <string name="broken_images">破碎的形象</string>
+ <string name="converted_profile_i">匯入設定檔 %d</string>
+ <string name="broken_images">損壞的映像</string>
<string name="broken_images_faq">&lt;p&gt;Official HTC圖像,已知有一種奇怪的路由問題造成交通不流過隧道(也&lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/18\"&gt;Issue 18&lt;/a&gt;看到bug跟踪系統。)的的Xperia弧S和的Xperia雷&lt;/p&gt;&lt;p&gt;Older官方SONY圖像已被報導完全缺少VPNService從圖像。 (也&lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/29\"&gt;Issue 29&lt;/a&gt;看到bug跟踪系統。)&lt;/p&gt;&lt;p&gt;On自定義生成的TUN模塊可能會丟失照片或為/ dev / TUN的權利可能是錯誤的。一些CM9圖像需要在“設備特定的黑客”enabled.&lt;/p&gt;&lt;p&gt;Most重要的是“修復所有權”選項:如果您的設備有一個破碎的機器人形象,報告給你的供應商。越多的人誰給供應商報告問題時,他們越有可能解決it.&lt;/p&gt;</string>
<string name="pkcs12_file_encryption_key">PKCS12檔加密金鑰</string>
<string name="private_key_password">私密金鑰密碼</string>
<string name="password">密碼</string>
<string name="file_icon">檔案圖標</string>
- <string name="tls_authentication">傳輸層防火牆(TLS Firewall)</string>
+ <string name="tls_authentication">TLS 驗證/加密</string>
<string name="generated_config">生成的設定檔</string>
- <string name="generalsettings">設置</string>
+ <string name="generalsettings">設定</string>
<string name="owner_fix_summary">嘗試修正/dev/tun擁有者權限。已知有些CM9 ROM需要透過這個來才能使得VPN服務API得以運作。本功能需要Root。</string>
<string name="owner_fix">修正 /dev/tun 的擁有者</string>
<string name="generated_config_summary">顯示本程序生成的設定檔</string>
@@ -177,11 +178,11 @@
<string name="extracahint">該CA證書通常是從Android密鑰庫返回。指定一個單獨的證書,如果你拿到證書驗證錯誤。</string>
<string name="select_file">選擇</string>
<string name="keychain_nocacert">沒有CA證書返回,而從Android的密鑰庫讀取。身份驗證可能會失敗。</string>
- <string name="show_log_summary">連接時顯示記錄檔視窗。記錄檔視窗可以隨時從通知欄中進入。</string>
+ <string name="show_log_summary">連接時顯示記錄視窗。記錄視窗可以隨時從通知列中存取。</string>
<string name="show_log_window">顯示記錄視窗</string>
<string name="mobile_info">%10$s %9$s上%3$s %1$s(%2$s),運行Android %6$s(%7$s)API %4$d,ABI %5$s,(%8$s)</string>
<string name="error_rsa_sign">錯誤簽名與Android密鑰庫密鑰%1$s:%2$s</string>
- <string name="faq_system_dialogs">VPN連接警告信息,告訴你,這個程序可以攔截所有流量是由系統施加的防止濫用VPNService的API。\ n此VPN連接的通知(關鍵標誌)也徵收Android系統的信號持續VPN連接。在某些圖像此通知播放聲音。\ nAndroid介紹這些系統對話框為自己的安全,並確保他們無法規避。 (在某些圖片這個不幸的是包括通知聲音)</string>
+ <string name="faq_system_dialogs">系統的 VPN 連線警告說明這個應用程式可以攔截所有流量,這是防止 VPNService API 被濫用。\n為了提示正在進行的 VPN 連線, Android 系統會產生通知 (鑰匙符號) ,在一些系統中,會發出提示聲。\nAndroid 這麼做是為了確保你的安全。</string>
<string name="faq_system_dialogs_title">連線警告和通知時發出音效</string>
<string name="translationby">繁體中文</string>
<string name="ipdns">IP和DNS</string>
@@ -195,103 +196,209 @@
<string name="ip_add_error">無法配置IP地址“%1$s”,系統拒絕:%2$s</string>
<string name="faq_howto">&lt;p&gt;Get工作的配置(從供應商/機構檢測您的電腦或下載)&lt;/p&gt;&lt;p&gt;If它沒有多餘的PEM / pks12文件,你可以自己通過電子郵件發送文件和打開附件的單個文件。如果您有多個文件,把它們放在你的SD card.&lt;/p&gt;&lt;p&gt;Click上的電子郵件附件/使用的文件夾圖標,在VPN列表導入配置file&lt;/p&gt;&lt;p&gt;If大約有丟失的文件將丟失的文件在你的SD card.&lt;/p&gt;&lt;p&gt;Click上保存錯誤標誌將導入的VPN添加到您的VPN list&lt;/p&gt;&lt;p&gt;Connect的VPN通過點擊VPN&lt;/p&gt;&lt;p&gt;If的名字有錯誤或警告日誌試著去了解警告/錯誤,並嘗試修復them&lt;/p&gt; </string>
<string name="faq_howto_title">快速入門</string>
- <string name="setting_loadtun_summary">在連線前嘗試載入Tun模組,需要Root。</string>
- <string name="setting_loadtun">載入Tun模組</string>
+ <string name="setting_loadtun_summary">在連線前嘗試載入 Tun 模組,需要 Root。</string>
+ <string name="setting_loadtun">載入 tun 模組</string>
<string name="importpkcs12fromconfig">導入PKCS12從配置到Android的密鑰庫</string>
<string name="getproxy_error">取得代理伺服器資訊時發生錯誤: %s</string>
<string name="using_proxy">使用代理伺服器 %1$s %2$d</string>
<string name="use_system_proxy">使用系統代理</string>
<string name="use_system_proxy_summary">使用系統配置的 HTTP/HTTPS 代理伺服器進行連線。</string>
- <string name="donatewithpaypal">你可以透過 &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;PayPal&lt;/a&gt; 提供捐助</string>
- <string name="onbootrestartsummary">如果在重新開機或關機前正連線VPN,開機時自動重新連線。在使用這個選項之前請先閱讀連線警告FAQ。</string>
- <string name="onbootrestart">開機時重新連線</string>
+ <string name="onbootrestartsummary">OpenVPN 將會在系統啟動時連線到特定的 VPN。在 Android &lt; 5.0 上使用這個設定前,請閱讀連線警告 FAQ。</string>
+ <string name="onbootrestart">啟動時連線</string>
<string name="ignore">忽略</string>
<string name="restart">重置</string>
<string name="restart_vpn_after_change">配置變更只會在重新啟動VPN時才生效,現在要(重新)啟動VPN嗎?</string>
<string name="configuration_changed">設定已變更</string>
<string name="log_no_last_vpn">無法判斷最後一次連線使用的設定檔,因此無法編輯設定檔。</string>
<string name="faq_duplicate_notification_title">重複的通知</string>
- <string name="faq_duplicate_notification">如果Android是在系統內存中的一些並不需要的時刻(RAM)的壓力,應用程序和服務,從積極的內存中刪除。這將終止正在進行的VPN連接。為了確保連接/ OpenVPN的生存服務的運行具有更高的優先級。於具有較高優先級運行的應用程序必須顯示通知。關鍵的通知圖標是由系統中的前一個FAQ條目中描述的罰款。它並不能算作應用程序通知具有較高優先級運行的目的。</string>
- <string name="no_vpn_profiles_defined">沒有VPN配置文件定義。</string>
+ <string name="faq_duplicate_notification">如果 Android 在系統記憶體 (RAM) 壓力下,會從現用的記憶體中移除在當下不需要的應用程式和服務。這將中止正在進行的 VPN 連線。為了確保連線/OpenVPN 不被終止,因此,此應用程式必須顯示在通知列中,才將具有較高優先的順序執行。如之前常見問題中說明的,鑰匙圖示是系統產生的,這不能當作是應用程式為了以更高的執行順序。</string>
+ <string name="no_vpn_profiles_defined">沒有定義的 VPN 設定檔。</string>
<string name="add_new_vpn_hint">使用&lt;img src=\"ic_menu_add\"/&gt;圖標添加新的VPN</string>
<string name="vpn_import_hint">使用&lt;img src=\"ic_menu_archive\"/&gt;圖標,導入從您的SD卡現有的(.ovpn或.conf文件)配置文件。</string>
<string name="faq_hint">此外,請務必檢查出的常見問​​題解答。有一個快速入門指南。</string>
<string name="faq_routing_title">路由/網絡介面 設定</string>
<string name="faq_routing">路由和接口配置不經由傳統的ifconfig /路由命令,但通過使用VPNService API來完成。這將導致比其他操作系統不同的路由配置。 \ n此VPN隧道的配置包括IP地址和應該被路由通過該接口的網絡。特別是,沒有同行夥伴地址或網關地址是必要的或需要。特殊的路由到達VPN服務器不需要任一(例如,當使用重定向網關加)。導入配置時,應用程序將因此而忽略這些設置。該應用程序可確保與連接到服務器沒有通過VPN隧道路由到的VPNService API。\ n此VPNService API不允許指定網絡不應該通過VPN路由。作為一種變通方法的應用程序會自動檢測網絡,不應該被路由到隧道(如航線XXXX YYYY net_gateway),並計算一組路由排除此路線效仿其他平台的行為。日誌窗口顯示VPNService的在建立一個連接的配置\ nBehind場景:安卓4.4+確實使用策略路由。利用路由/ ifconfig命令將不顯示已安裝的路線。相反,使用IP規則,iptables的-t軋-L</string>
- <string name="persisttun_summary">不要退回到沒有VPN連接時,OpenVPN是重新連接。</string>
+ <string name="persisttun_summary">當 OpenVPN 重新連線時,持續使用 VPN 連線。</string>
+ <string name="persistent_tun_title">保持 tun 通道</string>
<string name="openvpn_log">OpenVPN 運作記錄</string>
<string name="import_config">匯入 OpenVPN 配置</string>
<string name="battery_consumption_title">電池消耗</string>
- <string name="vpn_tethering_title">VPN與可攜式無線基地台</string>
- <string name="connection_retries">重新連線次數</string>
+ <string name="faq_tethering">網路共用的功能 (透過 Wi-Fi、USB 或藍牙) 和 VPNService API (此程式使用) 不一起作用。更多細節請看 &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/34\"&gt;issue #34&lt;/a&gt;</string>
+ <string name="vpn_tethering_title">VPN 與網路共用</string>
+ <string name="connection_retries">連線重試次數</string>
<string name="reconnection_settings">重新連線設定</string>
<string name="connectretrymessage">嘗試重新連線之間的等待秒數。</string>
<string name="connectretrywait">重新連線的間隔時間</string>
- <string name="minidump_generated">OpenVPN非預期地崩潰,你或者會考慮在主選單下傳送Minidump給開發人員。</string>
- <string name="send_minidump">向開發人員傳送Minidump</string>
+ <string name="minidump_generated">OpenVPN 發生非預期的異常,你可以使用在主選單中的發送異常傾印選項,將資訊提供給開發人員。</string>
+ <string name="send_minidump">向開發人員傳送異常傾印</string>
+ <string name="send_minidump_summary">傳送程式上一個異常停止的除錯資訊給開發人員</string>
+ <string name="notifcation_title">OpenVPN - %s</string>
+ <string name="session_ipv4string">%1$s - %2$s</string>
+ <string name="session_ipv6string">%1$s - %3$s, %2$s</string>
<string name="state_connecting">連線中</string>
+ <string name="state_wait">等待伺服器回覆</string>
+ <string name="state_auth">身份驗證</string>
+ <string name="state_get_config">取得客戶端配置</string>
+ <string name="state_assign_ip">分配 IP 位址</string>
+ <string name="state_add_routes">添加路由</string>
<string name="state_connected">已連線</string>
<string name="state_disconnected">中斷連線</string>
<string name="state_reconnecting">正在重新連線</string>
+ <string name="state_exiting">退出</string>
+ <string name="state_noprocess">不在執行</string>
+ <string name="state_resolve">解析主機名稱</string>
<string name="state_tcp_connect">連線中 (TCP)</string>
+ <string name="state_auth_failed">身份驗證失敗</string>
+ <string name="state_nonetwork">等待可使用的網路</string>
<string name="notifcation_title_notconnect">未連線</string>
<string name="start_vpn_title">正在連接至 VPN %s</string>
<string name="start_vpn_ticker">正在連接至 VPN %s</string>
- <string name="device_specific">設備的特性黑客</string>
- <string name="cannotparsecert">無法顯示證書信息</string>
- <string name="appbehaviour">應用行為</string>
- <string name="vpnbehaviour">VPN行為</string>
- <string name="allow_vpn_changes">允許更改VPN配置文件</string>
- <string name="hwkeychain">硬件密鑰庫:</string>
- <string name="permission_icon_app">應用程序嘗試使用OpenVPN的為Android的圖標</string>
- <string name="faq_vpndialog43">“與Android 4.3啟動VPN確認是防範”覆蓋應用程序“,這將導致該對話框沒有反應,觸摸輸入。如果你有一個使用覆蓋一個應用程序可能會導致此行為。如果發現違規應用程序聯繫作者該應用程序的。這個問題影響到在Android 4.3及更高版本的所有VPN應用。另見&lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Issue 185&lt;a&gt;了解更多詳細信息“</string>
- <string name="faq_vpndialog43_title">Vpn確認對話框</string>
- <string name="donatePlayStore">或者你可以給我的Play商店捐贈:</string>
- <string name="thanks_for_donation">感謝捐贈%s!</string>
- <string name="logCleared">日誌清除。</string>
+ <string name="jelly_keystore_alphanumeric_bug">如果,密鑰憑證的名稱包含非字母數字字元 (如空白、底線、破折號),在某些 Android 4.1 版本可能會出現問題。請嘗試重新匯入不含特殊字元的憑證。</string>
+ <string name="encryption_cipher">加密密鑰</string>
+ <string name="packet_auth">封包驗證</string>
+ <string name="auth_dialog_title">輸入封包驗證方法</string>
+ <string name="built_by">由 %s 建立</string>
+ <string name="debug_build">除錯版本</string>
+ <string name="official_build">正式版本</string>
+ <string name="make_selection_inline">複製到設定檔</string>
+ <string name="crashdump">異常傾印</string>
+ <string name="add">添加</string>
+ <string name="send_config">發送配置檔</string>
+ <string name="complete_dn">完整的 DN</string>
+ <string name="remotetlsnote">你匯入的設定使用了已經過舊且不建議的 tls-remote 選項使用了不同的 DN 格式。</string>
+ <string name="rdn">RDN (common name)</string>
+ <string name="rdn_prefix">RDN 前綴</string>
+ <string name="tls_remote_deprecated">tls-remote (不建議使用)</string>
+ <string name="help_translate">您可以訪問
+http://crowdin.net/project/ics-openvpn/invite
+幫助我們翻譯本軟體</string>
+ <string name="prompt">%1$s 試圖控制 %2$s</string>
+ <string name="remote_warning">你正在提供這個應用程式完全控制 OpenVPN for Android 與攔截所有網路流量的權限,<b>不允許,除非信任此應用程式。</b>否則,你的資料會受到惡意軟體洩漏的風險。</string>
+ <string name="remote_trust">信任此應用程式</string>
+ <string name="no_external_app_allowed">不允許應用程式使用外部 API </string>
+ <string name="allowed_apps">允許的應用程式:%s</string>
+ <string name="clearappsdialog">清除允許外部應用程式的清單?\n目前的允許應用程式的清單:\n\n%s</string>
+ <string name="screenoff_summary">當螢幕關閉和 60 秒內的傳輸資料,小於 60 KB 的時,暫停 VPN。當 「保持 Tun 通道」選項開啟時,暫停 VPN 會讓你的裝置沒有網路連線。如果不使用「保持 Tun 通道」選項,這個裝置會沒有 VPN 連線/保護。</string>
+ <string name="screenoff_title">當螢幕關閉時暫停VPN連線</string>
+ <string name="screenoff_pause">螢幕在關閉狀態時暫停連線:少於 %1$s 在 %2$s 秒</string>
+ <string name="screen_nopersistenttun">警告:保持 tun 通道沒有在此 VPN 中開啟。當螢幕關閉時,將會使用一般的網際網路連線。</string>
+ <string name="save_password">記住密碼</string>
+ <string name="pauseVPN">暫停VPN</string>
+ <string name="resumevpn">恢復 VPN</string>
+ <string name="state_userpause">使用者要求暫停 VPN</string>
+ <string name="state_screenoff">VPN 暫停 - 螢幕關閉</string>
+ <string name="device_specific">裝置特定的 Hacks</string>
+ <string name="cannotparsecert">無法顯示憑證資訊</string>
+ <string name="appbehaviour">應用程式行為</string>
+ <string name="vpnbehaviour">VPN 行為</string>
+ <string name="allow_vpn_changes">允許更改 VPN 設定檔</string>
+ <string name="hwkeychain">硬體金鑰庫︰</string>
+ <string name="permission_icon_app">應用程式嘗試使用 OpenVPN for Android 對圖示</string>
+ <string name="faq_vpndialog43">\"從 Android 4.3 開始,VPN 確認防止「覆蓋應用程式」,會導致對話框觸碰時沒有反應。如果你的應用程式中有使用覆蓋應用程式的功能,可能或造成這個現象。如果,發現造成這個問題的應用程式,請聯絡這個此應用程式的作者。這個問題會影響到所有在 Android 4.3 及更高版本的 VPN 應用程式。另請參見:See also &lt;a href=\"https://github.com/schwabe/ics-openvpn/issues/185\"&gt;Issue 185&lt;a&gt; 了解更多詳細資訊。</string>
+ <string name="faq_vpndialog43_title">VPN 確認對話框</string>
+ <string name="donatePlayStore">或者,你可以透過 Play 商店捐贈我:</string>
+ <string name="thanks_for_donation">感謝捐贈 %s!</string>
+ <string name="logCleared">日誌已清除。</string>
<string name="show_password">顯示密碼</string>
- <string name="keyChainAccessError">鑰匙串訪問錯誤:%s</string>
+ <string name="keyChainAccessError">鑰匙圈存取錯誤:%s</string>
<string name="timestamp_short">短</string>
<string name="timestamp_iso">ISO</string>
- <string name="timestamps">時間戳</string>
+ <string name="timestamps">時間戳記</string>
<string name="timestamps_none">無</string>
<string name="uploaded_data">上傳</string>
<string name="downloaded_data">下載</string>
- <string name="vpn_status">Vpn狀態</string>
+ <string name="vpn_status"> VPN 狀態</string>
<string name="logview_options">查看選項</string>
- <string name="unhandled_exception">未處理的異常:%1$s \ñ\ n%2$s</string>
- <string name="unhandled_exception_context">%3$s:%1$s \ñ\ n%2$s</string>
- <string name="faq_system_dialog_xposed">如果你已經植根Android設備可以安裝&lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt;和的&lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN對話框確認module&lt;/a&gt;需要您自擔風險“</string>
+ <string name="unhandled_exception">未處理的異常:%1$s \n\n %2$s</string>
+ <string name="unhandled_exception_context">%3$s:%1$s \n\n %2$s</string>
+ <string name="faq_system_dialog_xposed">如果你的 Android 裝置已取得 root 權限,你可以自行承擔風險安裝 &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; 和 &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN Dialog confirm module&lt;/a&gt;</string>
<string name="full_licenses">證照齊全</string>
<string name="blocklocal_summary">直接連接到本地接口的網絡將不被路由通過VPN。取消選擇此選項將縮進重定向本地網絡的VPN的所有流量。</string>
- <string name="blocklocal_title">旁路VPN本地網絡</string>
- <string name="userpw_file">用戶名/密碼文件</string>
- <string name="imported_from_file">[進口:%s]</string>
+ <string name="blocklocal_title">對區域網路繞過 VPN</string>
+ <string name="userpw_file">用戶名稱/密碼</string>
+ <string name="imported_from_file">[從匯入:%s]</string>
<string name="files_missing_hint">一些文件無法找到。請選擇要導入的文件的配置文件:</string>
<string name="openvpn_is_no_free_vpn">要使用這個程序,你需要一個VPN供應商/ VPN支持OpenVPN的網關(通常由雇主提供)。查看http://community.openvpn.net/關於OpenVPN的更多信息,以及如何設置自己的OpenVPN服務器。</string>
- <string name="import_log">導入日誌:</string>
+ <string name="import_log">匯入日誌:</string>
<string name="ip_looks_like_subnet">VPN拓撲“%3$s”規定,但使用ifconfig %1$s %2$s看起來更像是一個網絡掩碼的IP地址。假設“子網”的拓撲結構。</string>
<string name="mssfix_invalid_value">MSS的覆蓋值必須在0到9000的整數</string>
<string name="mssfix_value_dialog">宣布運行在他們應當限制其發送的包大小,使得後的OpenVPN已包封它們,將所得的UDP包大小的OpenVPN給對端發送將不超過此字節數的隧道的TCP會話。 (默認為1450)</string>
- <string name="mssfix_checkbox">重寫 TCP 負載的 MSS 的值</string>
- <string name="mssfix_dialogtitle">設置的 TCP MSS 負載</string>
+ <string name="mssfix_checkbox">覆寫TCP 裝載資料 (payload) 的最大分段大小 (MSS) 值</string>
+ <string name="mssfix_dialogtitle">設定 TCP 裝載資料 (payload) 的最大分段大小 (MSS)</string>
<string name="client_behaviour">客戶端行為</string>
<string name="clear_external_apps">清除允許外部應用程序</string>
<string name="loading">載入中...</string>
<string name="allowed_vpn_apps_info">允許上傳的VPN應用程序:%1$s</string>
- <string name="disallowed_vpn_apps_info">不允許VPN應用程序:%1$s</string>
+ <string name="disallowed_vpn_apps_info">不允許的 VPN 應用程式:%1$s</string>
<string name="app_no_longer_exists">包%s不再安裝,從應用程序刪除它允許/禁止列表</string>
<string name="vpn_disallow_radio">VPN適用於所有的應用程序,但不包括所選</string>
<string name="vpn_allow_radio">的VPN僅用於對選定的應用程序</string>
- <string name="query_delete_remote">刪除遠程服務器條目?</string>
+ <string name="query_delete_remote">刪除遠端伺服器項目?</string>
<string name="keep">養</string>
<string name="delete">刪</string>
<string name="add_remote">添加新的遠程</string>
+ <string name="remote_random">連線時,隨機選擇連線項目</string>
+ <string name="remote_no_server_selected">您需要定義和啟用至少一個遠端伺服器。</string>
+ <string name="server_list">伺服器列表</string>
+ <string name="vpn_allowed_apps">允許的應用程式</string>
+ <string name="advanced_settings">進階設定</string>
+ <string name="payload_options">資料 (payload) 選項</string>
+ <string name="tls_settings">TLS設定</string>
+ <string name="no_remote_defined">遠端沒有定義</string>
+ <string name="duplicate_vpn">重複的 VPN 設定檔</string>
+ <string name="duplicate_profile_title">複製設定檔︰ %s</string>
+ <string name="show_log">顯示記錄</string>
+ <string name="faq_androids_clients_title">OpenVPN Android 用戶端之間的差異</string>
+ <string name="ignore_multicast_route">忽略多點傳送路徑:%s</string>
+ <string name="ab_only_cidr">Android 只支援無類別域間 (CIDR) 路由到此 VPN。因為非無類別域間 (CIDR) 路由幾乎不會被使用,OpenVPN for Android 將使用 /32 非無類別域間 (CIDR) 路由處理這個警告。</string>
+ <string name="ab_tethering_44">當 VPN 啟用時,網路共用仍可運作,但網路共用的連線不會透過 VPN。</string>
+ <string name="ab_kitkat_mss">早期的 KitKat 版本在 TCP 連線中,設定錯誤的最大分段大小 (MSS) 值 (#61948)。試著開啟 mssfix 選項來繞開這個 bug。</string>
+ <string name="ab_proxy">Android 沒有 DNS 伺服器設定時,會繼續使用你指定的行動/Wi-Fi 連線代理設定。OpenVPN for Android 會在日誌中記錄警告訊息。<p>當 VPN 有設定 DNS 伺服器時,因為,Android API 中無法為 VPN 連線設定代理,所以,將不會使用代理設定。</p></string>
+ <string name="ab_lollipop_reinstall">當解除安裝或重新安裝,VPN 應用程式也會停止運作。詳細資訊起參閱 #80074</string>
+ <string name="ab_secondary_users">VPN 不會對次級使用者作用。</string>
+ <string name="ab_only_cidr_title">非無類別域間 (CIDR) 路由</string>
+ <string name="ab_proxy_title">VPN 的代理行為</string>
+ <string name="ab_lollipop_reinstall_title">重新安裝 VPN 應用程式</string>
+ <string name="version_upto">%s 及更早版本</string>
+ <string name="copy_of_profile">%s 的副本</string>
+ <string name="ab_not_route_to_vpn_title">路由到設定的 IP 位址</string>
+ <string name="ab_kitkat_mss_title">VPN 連線錯誤的最大分段大小 (MSS) 值</string>
+ <string name="custom_connection_options_warng">指定自訂連線的特定選項,請小心使用</string>
+ <string name="custom_connection_options">自定義選項</string>
+ <string name="remove_connection_entry">刪除連線項目</string>
+ <string name="ab_vpn_reachability_44_title">遠端網路無法連線</string>
+ <string name="ab_persist_tun_title">保持 tun 模式</string>
+ <string name="version_and_later">%s 及更高版本</string>
+ <string name="tls_cipher_alert_title">連接失敗,SSL23_GET_SERVER_HELLO:sslv3 握手失敗</string>
+ <string name="message_no_user_edit">這個設定檔已被從外部應用程式 (%s) 新增,並標記為使用者無法編輯。</string>
+ <string name="crl_file">憑證撤銷清單</string>
+ <string name="import_config_error">導入配置產生錯誤,無法保存</string>
+ <string name="Search">搜索</string>
+ <string name="lastdumpdate">(最後傾印是 %1$d:%2$dh 久 (%3$s))</string>
+ <string name="clear_log_on_connect">清除新連線的記錄</string>
+ <string name="connect_timeout">連線超時</string>
<string name="query_permissions_sdcard">添加新的遠程</string>
<string name="protocol">協定</string>
<string name="enabled_connection_entry">啟用</string>
<string name="abi_mismatch">該設備的優先考慮的母語ABI優先級(%1$s)和ABI報告本地庫(%2$s)不匹配</string>
- <string name="months_left">離開%d個月</string>
- <string name="days_left">離開%d天</string>
- <string name="hours_left">%d小時離開</string>
+ <string name="pushpeerinfo">發送端資訊</string>
+ <string name="pushpeerinfosummary">傳送額外的資訊到伺服器,例如 SSL 版本與 Android 版本</string>
+ <string name="pw_request_dialog_title">需要 %1$s</string>
+ <string name="pw_request_dialog_prompt">請輸入 %1$s 設定檔的密碼</string>
+ <string name="menu_use_inline_data">使用行內 (inline) 資料</string>
+ <string name="export_config_chooser_title">匯出設定檔</string>
+ <string name="missing_tlsauth">缺少 tls-auth 檔案</string>
+ <string name="missing_certificates">缺少使用者憑證或使用者憑證金鑰檔案</string>
+ <string name="missing_ca_certificate">缺少 CA 憑證</string>
+ <string name="crl_title">憑證撤銷清單 (可選)</string>
+ <string name="samsung_broken_title">三星手機</string>
+ <string name="novpn_selected">沒有 VPN 被選擇</string>
+ <string name="reconnect">重新連線</string>
+ <string name="qs_title">切換 VPN</string>
+ <string name="qs_connect">連線到 %s</string>
+ <string name="qs_disconnect">中斷連線 %s</string>
+ <string name="connectretrymaxtitle">連線嘗試最大間隔</string>
+ <string name="state_waitconnectretry">連線重試間,等待 %s 秒。</string>
+ <string name="change_sorting">更改排序</string>
+ <string name="sort">排序</string>
</resources>
diff --git a/main/src/main/res/values/arrays.xml b/main/src/main/res/values/arrays.xml
index cf02d1b8..bbb77fe1 100644
--- a/main/src/main/res/values/arrays.xml
+++ b/main/src/main/res/values/arrays.xml
@@ -20,6 +20,7 @@
<item translatable="false">0</item>
<item translatable="false">1</item>
<item>Unspecified</item>
+ <item>Encryption (--tls-crypt)</item>
</string-array>
<string-array name="crm_entries">
<item>No reconnection retries</item>
@@ -28,4 +29,9 @@
<item>Fifty reconnection retries</item>
<item>Unlimited reconnection retries</item>
</string-array>
+ <string-array name="auth_retry_type">
+ <item>Disconnect, forget password</item>
+ <item>Disconnect, keep password</item>
+ <item>Ignore, retry</item>
+ </string-array>
</resources>
diff --git a/main/src/main/res/values/colours.xml b/main/src/main/res/values/colours.xml
index d06bc233..cf4a2a7f 100644
--- a/main/src/main/res/values/colours.xml
+++ b/main/src/main/res/values/colours.xml
@@ -18,4 +18,7 @@
<color name="background_tab_pressed">#1AFFFFFF</color>
+
+ <color name="dataIn">#ff0000</color>
+ <color name="dataOut">#0000ff</color>
</resources> \ No newline at end of file
diff --git a/main/src/main/res/values/plurals.xml b/main/src/main/res/values/plurals.xml
new file mode 100644
index 00000000..1c5a03bc
--- /dev/null
+++ b/main/src/main/res/values/plurals.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<resources>
+ <plurals name="months_left">
+ <item quantity="one">One month left</item>
+ <item quantity="other">%d months left</item>
+ </plurals>
+ <plurals name="days_left">
+ <item quantity="one">One day left</item>
+ <item quantity="other">%d days left</item>
+ </plurals>
+ <plurals name="hours_left">
+ <item quantity="one">One hour left</item>
+ <item quantity="other">%d hours left</item>
+ </plurals>
+ <plurals name="minutes_left">
+ <item quantity="one">One minute left</item>
+ <item quantity="other">%d minutes left</item>
+ </plurals>
+</resources> \ No newline at end of file
diff --git a/main/src/main/res/values/refs.xml b/main/src/main/res/values/refs.xml
index 4d3c257a..2b00d5b5 100644
--- a/main/src/main/res/values/refs.xml
+++ b/main/src/main/res/values/refs.xml
@@ -5,12 +5,23 @@
-->
<resources>
- <drawable name="ic_menu_close_clear_cancel">@android:drawable/ic_menu_close_clear_cancel</drawable>
- <drawable name="ic_menu_play">@android:drawable/ic_media_play</drawable>
- <drawable name="ic_menu_pause">@android:drawable/ic_media_pause</drawable>
- <drawable name="ic_menu_share">@android:drawable/ic_menu_share </drawable>
- <drawable name="ic_menu_save">@android:drawable/ic_menu_save</drawable>
- <drawable name="ic_menu_view">@android:drawable/ic_menu_view</drawable>
- <drawable name="ic_menu_delete">@android:drawable/ic_menu_delete</drawable>
- <drawable name="ic_menu_edit">@android:drawable/ic_menu_edit</drawable>
-</resources>
+ <drawable name="ic_menu_close_clear_cancel">@android:drawable/ic_menu_close_clear_cancel</drawable>
+ <drawable name="ic_menu_play">@android:drawable/ic_media_play</drawable>
+ <drawable name="ic_menu_pause">@android:drawable/ic_media_pause</drawable>
+ <drawable name="ic_menu_share">@android:drawable/ic_menu_share </drawable>
+ <drawable name="ic_menu_save">@android:drawable/ic_menu_save</drawable>
+ <drawable name="ic_menu_view">@android:drawable/ic_menu_view</drawable>
+ <drawable name="ic_menu_delete">@android:drawable/ic_menu_delete</drawable>
+ <drawable name="ic_menu_edit">@android:drawable/ic_menu_edit</drawable>
+ <!--<drawable name="ic_menu_import">@drawable/ic_menu_archive</drawable>-->
+ <!--<drawable name="vpn_item_edit">@drawable/vpn_item_settings </drawable>-->
+ <drawable name="ic_menu_add">@android:drawable/ic_menu_add</drawable>
+ <drawable name="ic_dialog_alert">@android:drawable/ic_dialog_alert</drawable>
+ <drawable name="ic_menu_add_grey">@android:drawable/ic_menu_add</drawable>
+ <!--<drawable name="ic_menu_import_grey">@drawable/ic_menu_archive</drawable>-->
+ <drawable name="ic_menu_delete_grey">@android:drawable/ic_menu_delete</drawable>
+ <!--<drawable name="ic_menu_copy">@drawable/ic_menu_copy_holo_light</drawable>-->
+ <!--<drawable name="ic_receipt">@drawable/ic_menu_log</drawable> -->
+ <drawable name="ic_sort">@android:drawable/ic_menu_sort_by_size</drawable>
+
+</resources> \ No newline at end of file
diff --git a/main/src/main/res/values/strings.xml b/main/src/main/res/values/strings.xml
index 85bf1128..c63ec601 100755
--- a/main/src/main/res/values/strings.xml
+++ b/main/src/main/res/values/strings.xml
@@ -42,13 +42,14 @@
<string name="duplicate_profile_name">Please enter a unique Profile Name</string>
<string name="profilename">Profile Name</string>
<string name="no_keystore_cert_selected">You must select a User certificate</string>
+ <string name="no_ca_cert_selected">You must select a CA certificate</string>
<string name="no_error_found">No error found</string>
<string name="config_error_found">Error in Configuration</string>
<string name="ipv4_format_error">Error parsing the IPv4 address</string>
<string name="custom_route_format_error">Error parsing the custom routes</string>
<string name="pw_query_hint">(leave empty to query on demand)</string>
<string name="vpn_shortcut">OpenVPN Shortcut</string>
- <string name="vpn_launch_title">Connect to VPN</string>
+ <string name="vpn_launch_title">Connecting to VPN…</string>
<string name="shortcut_profile_notfound">Profile specified in shortcut not found</string>
<string name="random_host_prefix">Random Host Prefix</string>
<string name="random_host_summary">Adds 6 random chars in front of hostname</string>
@@ -162,7 +163,7 @@
<string name="private_key_password">Private Key Password</string>
<string name="password">Password</string>
<string name="file_icon">file icon</string>
- <string name="tls_authentication">TLS Authentication</string>
+ <string name="tls_authentication">TLS Authentication/Encryption</string>
<string name="generated_config">Generated Config</string>
<string name="generalsettings">Settings</string>
<string name="owner_fix_summary">Tries to set the owner of /dev/tun to system. Some CM9 images need this to make the VPNService API work. Requires root.</string>
@@ -201,9 +202,8 @@
<string name="using_proxy">Using proxy %1$s %2$d</string>
<string name="use_system_proxy">Use system proxy</string>
<string name="use_system_proxy_summary">Use the system wide configuration for HTTP/HTTPS proxies to connect.</string>
- <string name="donatewithpaypal">You can &lt;a href=\"https://www.paypal.com/cgi-bin/webscr?hosted_button_id=R2M6ZP9AF25LS&amp;amp;cmd=_s-xclick\"&gt;donate with PayPal&lt;/a&gt; </string>
- <string name="onbootrestartsummary">OpenVPN will reconnect a VPN if it was active on system reboot/shutdown. Please read the Connection warning FAQ before using this option.</string>
- <string name="onbootrestart">Reconnect on reboot</string>
+ <string name="onbootrestartsummary">OpenVPN will connect the specified VPN if it was active on system boot. Please read the connection warning FAQ before using this option on Android &lt; 5.0.</string>
+ <string name="onbootrestart">Connect on boot</string>
<string name="ignore">Ignore</string>
<string name="restart">Restart</string>
<string name="restart_vpn_after_change">Configuration changes are applied after restarting the VPN. (Re)start the VPN now?</string>
@@ -250,7 +250,7 @@
<string name="state_tcp_connect">Connecting (TCP)</string>
<string name="state_auth_failed">Authentication failed</string>
<string name="state_nonetwork">Waiting for usable network</string>
- <string name="statusline_bytecount">↓%2$s/s %1$s - ↑%4$s/s %3$s</string>
+ <string name="statusline_bytecount">↓%2$s %1$s - ↑%4$s %3$s</string>
<string name="notifcation_title_notconnect">Not connected</string>
<string name="start_vpn_title">Connecting to VPN %s</string>
<string name="start_vpn_ticker">Connecting to VPN %s</string>
@@ -277,7 +277,7 @@
<string name="no_external_app_allowed">No app allowed to use external API</string>
<string name="allowed_apps">Allowed apps: %s</string>
<string name="clearappsdialog">Clear list of allowed external apps?\nCurrent list of allowed apps:\n\n%s</string>
- <string name="screenoff_summary">"Pause VPN when screen is off and less than 64 kB transferred data in 60s. When the \"Persistent Tun\" option is enabled pausing the VPN will leave your device with NO network connectivity. Without the \"Persistent Tun\" option the device will have no VPN connection/protection.</string>
+ <string name="screenoff_summary">Pause VPN when screen is off and less than 64 kB transferred data in 60s. When the \"Persistent Tun\" option is enabled pausing the VPN will leave your device with NO network connectivity. Without the \"Persistent Tun\" option the device will have no VPN connection/protection.</string>
<string name="screenoff_title">Pause VPN connection after screen off</string>
<string name="screenoff_pause">Pausing connection in screen off state: less than %1$s in %2$ss</string>
<string name="screen_nopersistenttun">Warning: Persistent tun not enabled for this VPN. Traffic will use the normal Internet connection when the screen is off.</string>
@@ -310,7 +310,7 @@
<string name="logview_options">View options</string>
<string name="unhandled_exception">Unhandled exception: %1$s\n\n%2$s</string>
<string name="unhandled_exception_context">%3$s: %1$s\n\n%2$s</string>
- <string name="faq_system_dialog_xposed">If you have rooted your Android device you can install the &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; and a the &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN Dialog confirm module&lt;/a&gt; at your own risk"</string>
+ <string name="faq_system_dialog_xposed">If you have rooted your Android device you can install the &lt;a href=\"http://xposed.info/\"&gt;Xposed framework&lt;/a&gt; and the &lt;a href=\"http://repo.xposed.info/module/de.blinkt.vpndialogxposed\"&gt;VPN Dialog confirm module&lt;/a&gt; at your own risk"</string>
<string name="full_licenses">Full licenses</string>
<string name="blocklocal_summary">Networks directly connected to the local interfaces will not be routed over the VPN. Deselecting this option will redirect all traffic intented for local networks to the VPN.</string>
<string name="blocklocal_title">Bypass VPN for local networks</string>
@@ -321,6 +321,7 @@
<string name="import_log">Import log:</string>
<string name="ip_looks_like_subnet">Vpn topology \"%3$s\" specified but ifconfig %1$s %2$s looks more like an IP address with a network mask. Assuming \"subnet\" topology.</string>
<string name="mssfix_invalid_value">The MSS override value has to be a integer between 0 and 9000</string>
+ <string name="mtu_invalid_value">The MTU override value has to be a integer between 64 and 9000</string>
<string name="mssfix_value_dialog">Announce to TCP sessions running over the tunnel that they should limit their send packet sizes such that after OpenVPN has encapsulated them, the resulting UDP packet size that OpenVPN sends to its peer will not exceed this number of bytes. (default is 1450)</string>
<string name="mssfix_checkbox">Override MSS value of TCP payload</string>
<string name="mssfix_dialogtitle">Set MSS of TCP payload</string>
@@ -390,9 +391,6 @@
<string name="protocol">Protocol</string>
<string name="enabled_connection_entry">Enabled</string>
<string name="abi_mismatch">Preferred native ABI precedence of this device (%1$s) and ABI reported by native libraries (%2$s) mismatch</string>
- <string name="months_left">%d months left</string>
- <string name="days_left">%d days left</string>
- <string name="hours_left">%d hours left</string>
<string name="permission_revoked">VPN permission revoked by OS (e.g. other VPN program started), stopping VPN</string>
<string name="pushpeerinfo">Push Peer info</string>
<string name="pushpeerinfosummary">Send extra information to the server, e.g. SSL version and Android version</string>
@@ -405,4 +403,49 @@
<string name="missing_ca_certificate">Missing CA certificate</string>
<string name="crl_title">Certifcate Revoke List (optional)</string>
<string name="reread_log">Reread (%d) log items from log cache file</string>
+ <string name="samsung_broken">Even though Samsung phones are among the most selling Android phones, Samsung\'s firmware are also among the most buggy Android firmwares. The bugs are not limited to the VPN operation on these devices but many of them can be workarounded. In the following some of these bugs are described.\n\nDNS does not work unless the DNS server in the VPN range.\n\nOn many Samsung 5.x devices the allowed/disallowed apps feature does not work.\nOn Samsung 6.x VPN is reported not to work unless the VPN app is exempted from Powersave features.</string>
+ <string name="samsung_broken_title">Samsung phones</string>
+ <string name="novpn_selected">No VPN selected.</string>
+ <string name="defaultvpn">Default VPN</string>
+ <string name="defaultvpnsummary">VPN used in places where a default VPN needed. These are currently on boot, for Always-On and the Quick Settings Tile.</string>
+ <string name="vpnselected">Currently selected VPN: \'%s\'</string>
+ <string name="reconnect">Reconnect</string>
+ <string name="qs_title">Toggle VPN</string>
+ <string name="qs_connect">Connect to %s</string>
+ <string name="qs_disconnect">Disconnect %s</string>
+ <string name="connectretrymaxmessage">Enter the maximum time between connection attempts. OpenVPN will slowly raise its waiting time after an unsuccessful connection attempt up to this value. Defaults to 300s.</string>
+ <string name="connectretrymaxtitle">Maximum time between connection attempts</string>
+ <string name="state_waitconnectretry">Waiting %ss seconds between connection attempt</string>
+ <string name="nought_alwayson_warning"><![CDATA[If you did not get a VPN confirmation dialog, you have \"Always on VPN\" enabled for another app. In that case only that app is allowed to connect to a VPN. Check under Settings-> Networks more .. -> VPNS]]></string>
+ <string name="management_socket_closed">Connection to OpenVPN closed (%s)</string>
+ <string name="change_sorting">Change sorting</string>
+ <string name="sort">Sort</string>
+ <string name="sorted_lru">Profiles sorted by last recently used</string>
+ <string name="sorted_az">Profiles sorted by name</string>
+ <string name="deprecated_tls_remote">Config uses option tls-remote that was deprecated in 2.3 and finally removed in 2.4</string>
+ <string name="auth_failed_behaviour">Behaviour on AUTH_FAILED</string>
+ <string name="graph">Graph</string>
+ <string name="use_logarithmic_scale">Use logarithmic scale</string>
+ <string name="notenoughdata">Not enough data</string>
+ <string name="avghour">Average per hour</string>
+ <string name="avgmin">Average per minute</string>
+ <string name="last5minutes">Last 5 minutes</string>
+ <string name="data_in">In</string>
+ <string name="data_out">Out</string>
+ <string name="bits_per_second">%.0f bit/s</string>
+ <string name="kbits_per_second">%.1f kbit/s</string>
+ <string name="mbits_per_second">%.1f Mbit/s</string>
+ <string name="gbits_per_second">%.1f Gbit/s</string>
+ <string name="weakmd">&lt;p>Starting with OpenSSL version 1.1, OpenSSL rejects weak signatures in certificates like MD5.&lt;/p>&lt;p>&lt;b>MD5 signatures are insecure and should not be used anymore.&lt;/b> MD5 collisions can be created in &lt;a href="https://natmchugh.blogspot.de/2015/02/create-your-own-md5-collisions.html">few hours at a minimal cost.&lt;/a>. You should update the VPN certificates as soon as possible.&lt;/p>&lt;p>Unfortunately, older easy-rsa distributions included the config option "default_md md5". If you are using an old easy-rsa version, update to the &lt;a href="https://github.com/OpenVPN/easy-rsa/releases">latest version&lt;/a>) or change md5 to sha256 and regenerate your certificates.&lt;/p>&lt;p>If you really want to use old and broken certificates use the custom configuration option tls-cipher "DEFAULT:@SECLEVEL=0" under advanced configuration or as additional line in your imported configuration&lt;/p></string>
+
+<string name="volume_byte">%.0f B</string>
+ <string name="volume_kbyte">%.1f kB</string>
+ <string name="volume_mbyte">%.1f MB</string>
+ <string name="volume_gbyte">%.1f GB</string>
+ <string name="channel_name_background">Connection statistics</string>
+ <string name="channel_description_background">Ongoing statistics of the established OpenVPN connection</string>
+ <string name="channel_name_status">Connection status change</string>
+ <string name="channel_description_status">Status changes of the OpenVPN connection (Connecting, authenticating,…)</string>
+ <string name="weakmd_title">Weak (MD5) hashes in certificate signature (SSL_CTX_use_certificate md too weak)</string>
+
</resources>
diff --git a/main/src/main/res/values/untranslatable.xml b/main/src/main/res/values/untranslatable.xml
index 2277357c..8e6f2c75 100644
--- a/main/src/main/res/values/untranslatable.xml
+++ b/main/src/main/res/values/untranslatable.xml
@@ -7,6 +7,8 @@
<resources>
<string name="copyright_blinktgui" translatable="false">Copyright 2012–2016 Arne Schwabe &lt;arne@rfc2549.org></string>
+ <string name="copyright_logo" translatable="false">App Logo design by Helen Beierling &lt;helbeierling@t-online.de></string>
+
<string name="opevpn_copyright" translatable="false">Copyright © 2002–2010 OpenVPN Technologies, Inc. &lt;sales@openvpn.net>\n
"OpenVPN" is a trademark of OpenVPN Technologies, Inc.\n</string>
@@ -31,6 +33,7 @@
<item>0</item>
<item>1</item>
<item></item>
+ <item>tls-crypt</item>
</string-array>
<string-array name="crm_values" translatable="false">
<item>1</item>
diff --git a/main/src/main/res/xml/general_settings.xml b/main/src/main/res/xml/general_settings.xml
index 1e18b19c..f53e6d5b 100644
--- a/main/src/main/res/xml/general_settings.xml
+++ b/main/src/main/res/xml/general_settings.xml
@@ -4,7 +4,8 @@
~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
-->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools">
<PreferenceCategory android:title="@string/appbehaviour" android:key="app_behaviour">
<CheckBoxPreference
android:defaultValue="true"
@@ -12,6 +13,7 @@
android:summary="@string/show_log_summary"
android:title="@string/show_log_window"/>
+
<CheckBoxPreference
android:defaultValue="false"
android:key="ovpn3"
@@ -20,6 +22,12 @@
android:title="OpenVPN 3 Core"/>
+ <ListPreference
+ android:key="alwaysOnVpn"
+ android:title="@string/defaultvpn"
+ tools:summary="@string/defaultvpnsummary"
+ />
+
<CheckBoxPreference
android:defaultValue="false"
android:key="restartvpnonboot"
diff --git a/main/src/main/res/xml/vpn_authentification.xml b/main/src/main/res/xml/vpn_authentification.xml
index 8bfebccb..458378b7 100644
--- a/main/src/main/res/xml/vpn_authentification.xml
+++ b/main/src/main/res/xml/vpn_authentification.xml
@@ -18,6 +18,14 @@
android:dependency="checkRemoteCN"
android:key="remotecn"
android:title="@string/enter_tlscn_title" />
+
+ <EditTextPreference
+ android:dependency="checkRemoteCN"
+ android:dialogMessage="Field in the X.509 certificate subject to be used as the username (default=CN)."
+ android:key="remotex509name"
+ android:persistent="false"
+ android:title="X509 Username Field" />
+
</PreferenceCategory>
<PreferenceCategory android:title="@string/tls_authentication">
<SwitchPreference
diff --git a/main/src/main/res/xml/vpn_obscure.xml b/main/src/main/res/xml/vpn_obscure.xml
index 65a81c00..aa78050e 100644
--- a/main/src/main/res/xml/vpn_obscure.xml
+++ b/main/src/main/res/xml/vpn_obscure.xml
@@ -18,20 +18,6 @@
android:summary="@string/pushpeerinfosummary"
android:title="@string/pushpeerinfo" />
</PreferenceCategory>
- <PreferenceCategory android:title="@string/reconnection_settings">
- <ListPreference
- android:entries="@array/crm_entries"
- android:entryValues="@array/crm_values"
- android:key="connectretrymax"
- android:persistent="false"
- android:title="@string/connection_retries" />
-
- <EditTextPreference
- android:dialogMessage="@string/connectretrymessage"
- android:key="connectretry"
- android:persistent="false"
- android:title="@string/connectretrywait" />
- </PreferenceCategory>
<CheckBoxPreference
android:key="useRandomHostname"
@@ -55,6 +41,10 @@
android:key="mssFixValue"
android:persistent="false"
android:title="@string/mssfix_dialogtitle" />
+ <EditTextPreference
+ android:key="tunmtu"
+ android:persistent="false"
+ android:title="Tunnel MTU (tun-mtu)"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/custom_config_title">
<CheckBoxPreference
@@ -70,5 +60,25 @@
android:persistent="false"
android:title="@string/custom_options_title" />
</PreferenceCategory>
+ <PreferenceCategory android:title="@string/reconnection_settings">
+ <ListPreference
+ android:entries="@array/crm_entries"
+ android:entryValues="@array/crm_values"
+ android:key="connectretrymax"
+ android:persistent="false"
+ android:title="@string/connection_retries" />
+
+ <EditTextPreference
+ android:dialogMessage="@string/connectretrymessage"
+ android:key="connectretry"
+ android:persistent="false"
+ android:title="@string/connectretrywait" />
+
+ <EditTextPreference
+ android:dialogMessage="@string/connectretrymaxmessage"
+ android:key="connectretrymaxtime"
+ android:persistent="false"
+ android:title="@string/connectretrymaxtitle" />
+ </PreferenceCategory>
</PreferenceScreen> \ No newline at end of file
diff --git a/main/src/ovpn3/java/de/blinkt/openvpn/core/OpenVPNThreadv3.java b/main/src/ovpn3/java/de/blinkt/openvpn/core/OpenVPNThreadv3.java
index e595106c..850983a9 100644
--- a/main/src/ovpn3/java/de/blinkt/openvpn/core/OpenVPNThreadv3.java
+++ b/main/src/ovpn3/java/de/blinkt/openvpn/core/OpenVPNThreadv3.java
@@ -22,7 +22,7 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
static {
/*System.loadLibrary("crypto");
System.loadLibrary("ssl");*/
- System.loadLibrary("polarssl-dynamic");
+ //System.loadLibrary("polarssl-dynamic");
System.loadLibrary("ovpn3");
}
@@ -77,7 +77,8 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
statuspoller.stop();
}
- @Override
+
+ @Override
public boolean tun_builder_set_remote_address(String address, boolean ipv6) {
mService.setMtu(1500);
return true;
@@ -94,9 +95,8 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
return true;
}
- @Override
- public boolean tun_builder_add_route(String address, int prefix_length,
- boolean ipv6) {
+ @Override
+ public boolean tun_builder_add_route(String address, int prefix_length, int metric, boolean ipv6) {
if (address.equals("remote_host"))
return false;
@@ -107,7 +107,20 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
return true;
}
- @Override
+ @Override
+ public boolean tun_builder_exclude_route(String address, int prefix_length, int metric, boolean ipv6) {
+ if(ipv6)
+ mService.addRoutev6(address + "/" + prefix_length, "wifi0");
+ else {
+ //TODO
+ mService.addRoute(address, String.valueOf(prefix_length), "1.2.3.4" , "wifi0");
+ }
+ return true;
+ }
+
+
+
+ @Override
public boolean tun_builder_add_search_domain(String domain) {
mService.setDomain(domain);
return true;
@@ -126,15 +139,15 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
- @Override
- public boolean tun_builder_add_address(String address, int prefix_length,
- boolean ipv6) {
- if(!ipv6)
- mService.setLocalIP(new CIDRIP(address, prefix_length));
- else
- mService.setLocalIPv6(address+ "/" + prefix_length);
- return true;
- }
+
+ @Override
+ public boolean tun_builder_add_address(String address, int prefix_length, String gateway, boolean ipv6, boolean net30) {
+ if(!ipv6)
+ mService.setLocalIP(new CIDRIP(address, prefix_length));
+ else
+ mService.setLocalIPv6(address+ "/" + prefix_length);
+ return true;
+ }
@Override
public boolean tun_builder_new() {
@@ -142,19 +155,19 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
return true;
}
- @Override
- public boolean tun_builder_reroute_gw(String server_address,
- boolean server_address_ipv6, boolean ipv4, boolean ipv6, long flags) {
- // ignore
- return true;
- }
- @Override
- public boolean tun_builder_exclude_route(String address, int prefix_length,
- boolean ipv6) {
- //ignore
- return true;
- }
+ @Override
+ public boolean tun_builder_set_layer(int layer) {
+ return layer == 3;
+ }
+
+
+ @Override
+ public boolean tun_builder_reroute_gw(boolean ipv4, boolean ipv6, long flags) {
+ //ignore
+ return true;
+ }
+
private boolean setConfig(String vpnconfig) {
@@ -228,11 +241,20 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
mService =openVpnService;
}
- @Override
- public void pause(pauseReason pauseReason)
- {
- pause();
- }
+
+ @Override
+ public boolean stopVPN(boolean replaceConnection) {
+ return false;
+ }
+
+ @Override
+ public void networkChange(boolean sameNetwork) {
+
+ }
+
+ @Override
+ public void setPauseCallback(PausedStateCallback callback) {
+ }
@Override
public void log(ClientAPI_LogInfo arg0) {
@@ -262,9 +284,10 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
return true;
}
- public boolean stopVPN() {
- stop();
- return true;
+
+ @Override
+ public void stop() {
+ super.stop();
}
@Override
@@ -272,4 +295,9 @@ public class OpenVPNThreadv3 extends ClientAPI_OpenVPNClient implements Runnable
reconnect(1);
}
+ @Override
+ public void pause(pauseReason reason) {
+ super.pause(reason.toString());
+ }
+
}
diff --git a/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.java b/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.java
new file mode 100644
index 00000000..560d4fc8
--- /dev/null
+++ b/main/src/test/java/de/blinkt/openvpn/core/TestConfigParser.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import de.blinkt.openvpn.VpnProfile;
+
+/**
+ * Created by arne on 03.10.16.
+ */
+
+public class TestConfigParser {
+
+ String miniconfig = "client\nremote test.blinkt.de\n";
+
+ @Test
+ public void testHttpProxyPass() throws IOException, ConfigParser.ConfigParseError {
+ String httpproxypass = "<http-proxy-user-pass>\n" +
+ "foo\n" +
+ "bar\n" +
+ "</http-proxy-user-pass>\n";
+
+ ConfigParser cp = new ConfigParser();
+ cp.parseConfig(new StringReader(miniconfig + httpproxypass));
+ VpnProfile p = cp.convertProfile();
+ Assert.assertTrue(p.mCustomConfigOptions.contains(httpproxypass));
+
+ }
+}
diff --git a/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java b/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java
new file mode 100644
index 00000000..37f9fdcd
--- /dev/null
+++ b/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2012-2016 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+/**
+ * Created by arne on 23.07.16.
+ */
+
+public class TestIpParser {
+
+ @Test
+ public void parseIPv6Zeros() throws UnknownHostException {
+
+ testAddress("2020:0:1234::", 45, "2020:0:1234::/45");
+ testAddress("::", 0, "::/0");
+ testAddress("2a02:2e0:3fe:1001:302::", 128, "2a02:2e0:3fe:1001:302::/128");
+ testAddress("2a02:2e0:3fe:1001:302::70", 128, "2a02:2e0:3fe:1001:302:0:0:70/128");
+ }
+
+ void testAddress(String input, int mask, String output) throws UnknownHostException {
+ Inet6Address ip = (Inet6Address) InetAddress.getByName(input);
+
+ NetworkSpace.ipAddress netIp = new NetworkSpace.ipAddress(ip, mask, true);
+
+ Assert.assertEquals(output, netIp.toString());
+ }
+}
diff --git a/main/src/test/java/de/blinkt/openvpn/core/TestLogFileHandler.java b/main/src/test/java/de/blinkt/openvpn/core/TestLogFileHandler.java
new file mode 100644
index 00000000..b32e5efa
--- /dev/null
+++ b/main/src/test/java/de/blinkt/openvpn/core/TestLogFileHandler.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
+package de.blinkt.openvpn.core;
+
+import android.annotation.SuppressLint;
+
+import junit.framework.Assert;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.Arrays;
+
+public class TestLogFileHandler {
+
+ byte[] testUnescaped = new byte[]{0x00, 0x55, -27, 0x00, 0x56, 0x10, -128, 0x55, 0x54};
+ byte[] expectedEscaped = new byte[]{0x55, 0x00, 0x00, 0x00, 0x09, 0x00, 0x56, 0x00, -27, 0x00, 0x56, 0x01, 0x10, -128, 0x56, 0x00, 0x54};
+ private TestingLogFileHandler lfh;
+
+
+ @Before
+ public void setup() {
+ lfh = new TestingLogFileHandler();
+ }
+
+ @Test
+ public void testWriteByteArray() throws IOException {
+
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+
+ lfh.setLogFile(byteArrayOutputStream);
+
+ lfh.writeEscapedBytes(testUnescaped);
+
+ byte[] result = byteArrayOutputStream.toByteArray();
+ Assert.assertTrue(Arrays.equals(expectedEscaped, result));
+ }
+
+ @Test
+ public void readByteArray() throws IOException {
+
+ ByteArrayInputStream in = new ByteArrayInputStream(expectedEscaped);
+
+ lfh.readCacheContents(in);
+
+ Assert.assertTrue(Arrays.equals(testUnescaped, lfh.mRestoredByteArray));
+
+ }
+
+ @Test
+ public void testMarschal() throws UnsupportedEncodingException {
+ LogItem li = new LogItem(VpnStatus.LogLevel.DEBUG, 72, "foobar");
+ LogItem li2 = marschalAndBack(li);
+ testEquals(li, li2);
+ Assert.assertEquals(li, li2);
+ }
+
+ @Test
+ public void testMarschalArgs() throws UnsupportedEncodingException {
+ LogItem li = new LogItem(VpnStatus.LogLevel.DEBUG, 72, 772, "sinnloser Text", 7723, 723.2f, 7.2);
+ LogItem li2 = marschalAndBack(li);
+ testEquals(li, li2);
+ Assert.assertEquals(li, li2);
+ }
+
+ @Test
+ public void testMarschalString() throws UnsupportedEncodingException {
+ LogItem li = new LogItem(VpnStatus.LogLevel.DEBUG, "Nutzlose Nachricht");
+ LogItem li2 = marschalAndBack(li);
+ testEquals(li, li2);
+ Assert.assertEquals(li, li2);
+ }
+
+
+ private void testEquals(LogItem li, LogItem li2) {
+ Assert.assertEquals(li.getLogLevel(), li2.getLogLevel());
+ Assert.assertEquals(li.getLogtime(), li2.getLogtime());
+ Assert.assertEquals(li.getVerbosityLevel(), li2.getVerbosityLevel());
+ Assert.assertEquals(li.toString(), li2.toString());
+
+ }
+
+ private LogItem marschalAndBack(LogItem li) throws UnsupportedEncodingException {
+ byte[] bytes = li.getMarschaledBytes();
+
+ return new LogItem(bytes, bytes.length);
+ }
+
+
+ @SuppressLint("HandlerLeak")
+ static class TestingLogFileHandler extends LogFileHandler {
+
+ public byte[] mRestoredByteArray;
+
+ public TestingLogFileHandler() {
+ super(null);
+ }
+
+ public void setLogFile(OutputStream out) {
+ mLogFile = out;
+ }
+
+ @Override
+ public void readCacheContents(InputStream in) throws IOException {
+ super.readCacheContents(in);
+ }
+
+ @Override
+ protected void restoreLogItem(byte[] buf, int len) {
+ mRestoredByteArray = Arrays.copyOf(buf, len);
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/misc/ic_quick.ai b/misc/ic_quick.ai
new file mode 100644
index 00000000..3e16da64
--- /dev/null
+++ b/misc/ic_quick.ai
@@ -0,0 +1,730 @@
+%PDF-1.5 %
+1 0 obj <</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R]/Order 6 0 R/RBGroups[]>>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <</Length 19660/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00 ">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+ <xmp:CreatorTool>Adobe Illustrator CS5.1</xmp:CreatorTool>
+ <xmp:CreateDate>2016-05-22T13:17+02:00</xmp:CreateDate>
+ <xmp:MetadataDate>2016-05-22T13:17+02:00</xmp:MetadataDate>
+ <xmp:ModifyDate>2016-05-22T13:17+02:00</xmp:ModifyDate>
+ <xmp:Thumbnails>
+ <rdf:Alt>
+ <rdf:li rdf:parseType="Resource">
+ <xmpGImg:width>256</xmpGImg:width>
+ <xmpGImg:height>256</xmpGImg:height>
+ <xmpGImg:format>JPEG</xmpGImg:format>
+ <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8AnX58/nnrPkvVrXQPL8MJ&#xA;vpIFubu7uFMgRXZlSNEqo5fBUk12pkSUgJd+U/8Azky2sanBofnCGG2ubpxHZ6pACkTO2ypMjE8e&#xA;R6Opp4gdcQVp9AZJDsVdirsVdirsVdirsVSTzL538o+WYvU17VrawqOSxSODKw8UiXlI3+xXG1eS&#xA;+Y/+cs/KNmzR6Fpl1qrioE0pFrCfAiokkP0oMjxJp5vrf/OVH5k3xZdOSy0mM/YMUPrSD5tOZEJ/&#xA;2GDiWmFal+bv5nakT9Z8zagA32lgma3UilKFYfTFN8bSx6713W7wlrvULm4JrUyzSOTXr9onrgVA&#xA;4q7FUwtfMGvWbcrTUrq3bxinkQ+H7LDFWRaZ+cf5o6aQbbzNfNSlBcS/WRt7T+qMNrTNdE/5yr/M&#xA;Wy4rqUFlqsf7TPEYZT8mhKoP+Ax4kU9J8t/85Y+S70rHrun3WjynrKlLqAfNkCS/dGcPEtPWPLnn&#xA;Lyr5lt/X0LVLfUEAqywuDIv+vGaOn+yAySE5xV2KuxV2KuxV2KuxV2KpT5n82eXvK+mNqevX0djZ&#xA;qeId6lnaleEaKC7tt0UHFWN+TPzq/L7zfqf6L0m+ddRKlora4jaJpQoJb0ydmKgVIrWm+C1p5V/z&#xA;lf5DvJXsvOlohkt4YlsdTUVPpjmWhl/1SZCh9+PjgkEh83AkGo65FL7F/wCcevzUHm7y7+htTm5e&#xA;YNIjVZGY/FcW4+FJt+rLsr+9D+1kwUF63hQ7FXYq7FXYqwnz7+cXkbyUrRaneevqQFV0u1pJcGu4&#xA;5CoWMH/LI9q4CVfOfnj/AJyY896+0lvo7Dy/pzVAFseV0y/5VwQCv/PML88iSyp5JcXNxczvPcyv&#xA;PPIaySyMXdj4ljUnAqnirsVdirsVdirsVdirsVdirsVVrS8u7O4S5tJ5La5iPKKeJmR1I7qykEYq&#xA;9d8j/wDOTvnjQzHba4F1/TloCZj6d2q/5M6j4/8AnopJ8RhBWn0Z5E/NvyR52jC6Re8L/jyk0y5A&#xA;iuV8aLUhwPFCRkgWLMsKuxV2KuxV2KofUdRstNsLjUL6ZYLO0jaa4mc0VEQcmJ+gYq+GvzX/ADH1&#xA;Dz35pn1GRnTTICYtKs2O0UINORXpzkpyf7ugGQJZKP5SaZqeo/mV5cg03ktwl9DO8i1+CKFxJKx9&#xA;hGp+fTEK+6dV0ux1XTbnTdQhWeyvImhuIW6MjihH9uTYvhT8zfIN/wCR/Nl1o1xyktv77T7oigmt&#xA;3J4N/rCnFvcZAhklvk7zXqnlTzHZa7pj0ubR+RjJoskZ2eJ/8l12/HrgV94+U/M+l+aPL1lrumPz&#xA;tL2MOoNOSMNnjen7SMCpyxim2KuxVAa5r2jaDpkup6xdx2VhAKyTymg9gAN2Y9lAqcVfMX5n/wDO&#xA;TetawZtM8n89K0w1R9RO15KOlUp/cqfb4vcdMiSmnhsssksjyyu0ksjFndiSzMTUkk7kk5FKzFXY&#xA;q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqvhmmgmSaCRopo2DxyISrKymoKkbgjFXvH5Y/85P6rprQ6&#xA;Z50D6jYbImqoK3UQ6VlUf3qjuftf6xyQKKfTWj6zpWs6dDqWlXUd5Y3A5Q3ELclI7/IjoQdxkkIz&#xA;FXYq7FXzN/zlB+aX1i4/wNpM37iBlk1uVDs0g+KO3r4Jsz+9B2ORJSHzvkUvr7/nHH8rf8MeXv8A&#xA;EOpw8dd1iMFEYfFBaGjIns0mzt9A7HJgIL2PCh57+dn5ZxeevKbxW6KNc0/lPpUpoOTU+OEk/syg&#xA;U9mocBCQ+I5oZYZnhmRo5YmKSRsCGVlNCCD0IOQS9h/5xy/NL/DHmH/D+pzcdC1iQBHY/DBdmio/&#xA;ssmyN9B7HCCpfXuTYsO/Mr80vLfkLSvrOpP62oTKfqGmRkerMw2qf5IwftOfoqdsBKvjjz/+ZHmf&#xA;zzqpvdZuP3EZP1OwjqIIFPZF7nxY7nIksmLYFdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs&#xA;VdirL/y6/NDzP5E1L6zpU3qWUrA3umSkmCYdKkfsvTo43+Y2wgq+yPy8/Mny3560cX+ky8biIAXu&#xA;nyEetA57MB1U0+FhsfnUCQLFlWFWBfnN+ZUHkTylJdRMra1e8oNJgO/7ynxSkfyxA1PvQd8BKQ+H&#xA;7i4nubiW4uJGlnmdpJpXJZmdzVmYnqSTkEvWv+cd/wArf8WeY/01qcPLQNHdWdWFVuLkfEkO/VV+&#xA;0/0D9rCApfYeTYuxV2KvmD/nJ78rfqV7/jfSYaWl2wTWY0G0c7bJPt2l6N/lf62RISHz7kUvoryr&#xA;/wA5QRaZ+XH1XUYXvfNtiBa2XIExTx0/dzzSf5AFHHVjTxJWVop4N5g8w6z5h1afVtYunvL+5NZJ&#xA;n8B0VQNlVRsFGwyKUuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kpv5W81a55&#xA;W1qDWNFuWtryA/NHT9qORf2kbuP44q+x/wAufzp8s+bfLFzqtzLHp19pcJm1m0dtokQVMyE7tEe3&#xA;cHY9qzBRT5R/NP8AMK989ebbjVpeUdjH+50y1Y/3Vup+GoG3J/tN7+wGRJSk3lPyxqnmjzDZaFpi&#xA;c7u9kCKTXiijd5Hp+yigscCvvHyd5U0vyp5cstC0xKW1onFpCKNJId3lf/Kdt/w6ZYxTnFXYq7FU&#xA;Lqul2Grabc6ZqEK3FleRtDcQt0ZHFCP6HFXwh+ZXki58lecL7QZmMsMRElnOf92W8nxRsff9lv8A&#xA;KByBDJi+BXYq7FXYq7FXYq7FXYq2Vp12Ph3xVrFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqvSWR&#xA;AwRyoccXAJHJag0NOoqMVWYq+vv+ccvysPlfy/8A4g1SHjrusRgqjj4re1NGSOnZpNmf6B2OTAQX&#xA;seFDsVdirsVQOu63puhaPd6vqcwgsbKMyzyHso7Ad2Y7KO52xV8IfmF51vvOfmy+1+7X0xcMEtre&#xA;tRFAm0aV7kDdj3NTlZZMbxV2KuxV2KuxV2Ktha7nYeOKur4bYq1irsVdirsVdirsVdirsVdirsVd&#xA;irsVdirsVdirsVTLy1qFlp3mLS9Qv7cXdjZ3cE91akA+pFHIrOlDseSgjfFX6C6XqdhqunW2pafM&#xA;txZXcazW86bqyOKg/wBmWMUVirsVdirsVfK//OT35nHVNXHkzTJf9x+mOH1R1O0t2Okf+rCOv+VX&#xA;+UZElIeDZFLsVdirsVdirsVbAFKn6B44q4kn6OmKtYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX&#xA;Yq7FXYq7FX0L/wA4ufmcba8byPqk3+jXRabRXc7JNu0kG/aT7S/5Ve7ZKJQX05kkOxV2KsO/Nrz3&#xA;D5J8k3ur1H15x9W0yM0PK5lB4Gh6hAC7ewwEq+E555rieSed2kmlYvLIxqzMxqzEnqScgyU8Vdir&#xA;sVdirsVbptU9+mKtYq7FXYqiLDTtQ1G6S00+1lvLqT7Fvbo0sjfJEBJxV6Z5d/5xr/NLV1WSezh0&#xA;iFtw9/KFan/GOISyA+zKMNLbO9O/5w/kKhtS8zBW7x21qWH/AAbyr/xHDwotOIv+cRPKYVvV1y/d&#xA;j9kqsKgfMFWrjwraEuv+cP8ASWWlr5lnibxltUlH3LJF+vHhW2Lax/ziX52tlL6XqdjqCgfYf1Le&#xA;Q/IFZE+98eFbeaeZ/wAsfP3lgM+taJc29uta3SqJoAB4zRF0H0nBSWL4FdirsVdirsVdirsVdirs&#xA;VdiqtZ3l1ZXcF5aSNDdW0iywTIaMjoQysPcEYq+8/wAs/Otv5z8mafrsfFbiVPTvol6R3MfwyrTs&#xA;K/Ev+SRkwWLKMKuxV8jf85Q+d21nzqnl+2ethoKcJAOjXcoDSn/YLxT2IbxyBKQ8XwJdirsVdirs&#xA;VbHvirsVaxVdHHJLIscal5HIVEUEsWJoAAOpOKvevyz/AOcXtS1NItT85yPp1m1GTSotrpx1/esQ&#xA;REP8mhb/AFTkgEW+jvLXlDyz5YshZ6Dp0NhBQB/SX43p0Mkhq7n3YnJITfFXYq7FXYq7FXEAih6Y&#xA;q8488fkH+XvmpJJvqQ0nU3qRf2AWIljvWSID03qeppy/ysBCbfNH5kfkf5y8jl7qaMajogPw6pbA&#xA;8VFaD1o92iPzqv8AlHIkJt55gV2KuxV2KuxV2KuxV2KuxV7l/wA4redjpnmq58r3MlLPWkMlqCdl&#xA;u4VJ28PUjBHuQoyUUF9X5JCV+atftvL3lvUtbuaejp9vJOVO3JlX4U+btRRir8+r++ur++ub+7kM&#xA;t1dyvPcSnq0kjF3Y/NjlbJD4q7FXYq7FXYq2dvh+/wCeKtYqq2trc3d1Da2sTT3M7rFBCgLO7ueK&#xA;qoHUknFX17+Sn5E2HlC2i1rXYkuvNEi8lBo8dmD+xH2Mn8z/AELtUtMBBL1/Ch2KuxV2KuxV2Kux&#xA;V2KuxVbJHHLG0cih43BV0YAqVIoQQeoOKvnD86P+ccY0iuPMXkiDiEBlvdDQE7dWe1A+/wBP/gey&#xA;5EhIL5wIIND1yKWsVdirsVdirsVdirsVRmjareaRq1lqtk3C7sZ47iBv8uJgwr7bYq/QfQdYtda0&#xA;Sw1e0NbbULeK5i3rRZUDAH3FaHLGLyL/AJys8yHT/Idro0b8ZdaulEi+MFrSV/8Akr6WCSQ+Scgl&#xA;2KuxV2KuxVsePh+vFWsVdir6f/5xl/KiOzsk88axCDeXSkaLE4/u4T8LXFD+1JuF/wAnf9rJAIL6&#xA;CySHYq7FXYqxbzZ+aHkPyoWj1vWIILlRU2aEzXG/SsUQdxXxYAYLV5vqP/OWvkWF2Sx0zUbunR2W&#xA;GFD8qyO33rg4k0h7b/nLvyk0lLnQ7+KPu0bQyN/wLNH+vHiWmceWPz5/LDzC6QwautjdPSlvfqbZ&#xA;qnoA7fuifYPhtaeggggEGoO4IwodirsVdir5o/5yS/JyO29bzxoEHGF2B1y0jFArMafWUUdmP957&#xA;/F/NkSEgvnXIpdirsVdirsVdirsVdir7B/5xd8xnVPy3/RsrcptFuZLcA9fRl/fRn73ZR8snFBeV&#xA;/wDOWGtm78/WWlq1YtMsU5L4TXDs7ffGI8jJQ8SwJdirsVdirsVbNNgPpxVrFWX/AJUeSJPOfnjT&#xA;9GIP1Ll9Y1FxtxtoiDJv2L7IPdhhAV93wwwwQxwQosUMShIo0AVVVRRVAHQAZNivxV2KofUNQsdO&#xA;sZ7+/nS2s7ZDJPPIQqIiipJJxV8q/mr/AM5J63rk02l+UZJNL0YVR71fgu7geIbrCngF+LxPbIkp&#xA;p4k7u7s7sWdiSzE1JJ3JJORStxV2KuxV6L+Wn54eb/JE0VuJW1LQgQJNLuHJCr/xQ5qYj7D4fEYQ&#xA;Vp9f+S/OmgecdCh1nRZ/Vt5PhliaglhkH2o5VBPFh9x6ioybFPcVdiqnc21vdW0trcxrNbzo0U0T&#xA;iqujjiysD1BBpir4R/NbyNL5K87X+jAN9SJ+sabI2/K2lJKbnqUoUJ8QcgQyYhgV2KuxV2KuxV2K&#xA;uxV7x/ziRrZt/NusaMzUj1CzW4UHvJayAAD/AGEzH6MlFBee/nVqZ1L81fMtwTX07xrUf9GoFvT/&#xA;AJJYCkMJwK7FXYq7FW1pXfp1PbpiriSTU7k4q1ir6o/5xM8qC08tal5mmT99qc31a2JHSC3+0Qf8&#xA;uViD/q5KKC95ySHYq7FXyZ/zkl+a02u63J5T0qamiaXJxvWQ7XF2ho1T3SI/CB/NU7/DSBKQ8RwJ&#xA;dirsVdirsVdirNPyp/MnUfIfmiLUYS0mmTkRarZA7Sw16gHb1I/tIfo6E4QVfc2n39nqFjb39lKs&#xA;9pdxpNbzIaq8cihlYfMHJsVfFXYq8J/5yx8qJeeVNP8AMkSf6RpU/oXDgf8AHvc7Cp/yZVWn+scj&#xA;JIfKmRS7FXYq7FXYq7FXYq9B/ILVDp35taBITRLiWS1cbb+vC8ajf/LZThCliHmW7N75j1W8Na3N&#xA;5cTGux/eSs38cCpbirsVdirsVXD7LHbsN+vjUfdiq3FXYq+/Py00MaF5A0DS+PB4LKIzL0/fSr6k&#xA;v/JR2yYYslwq7FWJfmv5ubyn5A1fWYm43iRejY+P1iciOMjx4FufyGAq+DGZnYsxLMxqzHcknucg&#xA;yaxV2KuxV2KuxV2KuxV9Z/8AOKnm6XU/J15oFw/ObQ5gbck7/Vrnkyr/ALGRX+ggZKKC9uySHYqx&#xA;P82NKTVfy18y2bCtbCaZAf8AfluvrR/8PGMBV8FZBk7FXYq7FXYq7FXYqnvkO8Nl538vXgNPq+pW&#xA;khO/RZ0JrTfpiFQreXPMrsWbS71mY1ZjBKSSe5+HFWv8NeY/+rVef9I8v/NOKu/w15j/AOrVef8A&#xA;SPL/AM04q7/DXmP/AKtV5/0jy/8ANOKu/wANeY/+rVef9I8v/NOKt/4b8wlaDSbzkCan0Jfbb7OK&#xA;tf4a8x/9Wq8/6R5f+acVR+g+Tdevtc06ym0y7SK6uoYZGaCUKFkkCkk8dhQ4q/QAAAUHTLGLsVdi&#xA;rwX/AJy61KSLypoemqSEu7553p3+rxFQD/yOyMkh8sZFLsVdirsVdirsVdirsVe0/wDOKOpPb/mN&#xA;dWdT6d9p0qle3OKSORT9Chh9OGKC+uMmh2Kpf5ijeTy/qccal3e0nVEUVJJjYAADFXwT/gfzr/1L&#xA;+pf9Ic//ADRlbJ3+B/Ov/Uv6l/0hz/8ANGKtN5K85Kyq2g6iGb7INpOCaeHwYq3/AIH86/8AUv6l&#xA;/wBIc/8AzRirv8D+df8AqX9S/wCkOf8A5oxV3+B/Ov8A1L+pf9Ic/wDzRiq2TyX5xiQvLoWoog6s&#xA;1pOAK7dSmKtWWg+Z7e8guI9JvS8MiSIFglBqrAihC+2Kv0Jyxi7FXYq7FXYq7FXYq7FXYq7FXYq+&#xA;fP8AnL+3kbRfLlwB+6jubiNjv9qSNCvt0jORkkPmHIpdirsVdirsVdirsVdir17/AJxbhkk/NNHU&#xA;VWGxuXk9lPBP1sMMVL7DybF2KuxV2KuxV2KuxV2KuxV2KuxV8Gt+bv5nsxY+aNRqxqaXDgb+ABoM&#xA;hbJb/wArb/M7/qaNS/6SZP642rv+Vt/md/1NGpf9JMn9cbV3/K2/zO/6mjUv+kmT+uNqtf8ANb8z&#xA;HNT5p1QfK7mX9TDG1ab81fzLZQp806pQdKXcwP3hq42qz/lZ/wCZP/U1av8A9J1x/wA142rK/wAq&#xA;PPvn3U/zH8vWN55k1O4tZr2MTwS3k7xug+IqysxBBpShxBV9n5Ni7FXYq8z/AOcivLMmu/ldqDQp&#xA;zuNJdNSiUfyw1WU/RC7nAUh8VZBLsVdirsVdirsVdirsVfSX/OInllwNc8zSpRW4adav40pNP/zK&#xA;yUUF9H5JDsVQHmCaWHQdSmicpLHazvG6mhVljYgg+xxV8Nf8rb/M7/qaNS/6SZP65C2Tv+Vt/md/&#xA;1NGpf9JMn9cbVp/zY/M11KnzRqYB/lupVP3hgcbVqP8ANf8AMyNeK+adUI/yrqVj97MTjarv+Vt/&#xA;md/1NGpf9JMn9cbV3/K2/wAzv+po1L/pJk/rjau/5W3+Z3/U0al/0kyf1xtURp/5sfmY9/bI/mfU&#xA;mRpUDKbiShBYAjrjasKwK7FXYq7FXYq7FXYqy/8AKF3T8z/K5Q0J1GBa+zOAR9xwhX3lk2LsVdiq&#xA;2WKKaJ4pUEkUilJEYVVlYUIIPYjFXwr+bn5fXXkfzldabwb9GTk3GlTmpD27nZeXdo/sN9/QjIEM&#xA;mFYFdirsVdirsVdiqP0LRNS1zWLTSNMhM99eyCKCMd2Pcnsqjdj2G+KvvTyL5RsvKPlTT9As6Mln&#xA;HSaalDJMx5SyH/WcmngNssDFPsVdiqS+dyR5L18g0I027II/4wPiVfnxlbJ2KuxV2KuxV2KuxVE6&#xA;Z/x0rT/jNH/xIYqhsVdirsVdirsVdirsVZX+U8iR/mZ5WZzQHU7VQfdpVUficIV97ZNi7FXYq7FW&#xA;K/mP+Xeiee/L76VqQ9OZCZLG+QAyQTUoGHip6Mvce9CAQr4t89/l55n8k6sdP1u24KxP1W8jq0E6&#xA;j9qN6D6VNCO4yJDJjWBXYq7FXYqjtG0XVtb1KHTNJtJL2/uDxit4V5MfE+wHUk7Dvir7A/JT8lbP&#xA;yLZfpLUuFz5nuk4zTLulvG25hiPc/wA79+g26zAQS9TwodirsVSHz/KsPkTzJM9eEel3rtTrRbdy&#xA;cSr8/MrZOxV2KuxV2KuxV2KonTP+Olaf8Zo/+JDFUNirsVdirsVdirsVdirJPy0/8mP5V/7bFh/1&#xA;FR4hX37ljF2KuxV2KuxVBazomka3p8mnavZxX1lL9uCdQ617EV6EdiNxir5b/Pv8mPJ/knTYNZ0a&#xA;+nga8uPRh0iWkwOxZmSUlXVUA/a5Hcb5EhILw/Ipdir0P8lPy50Lz55kn0vVdSlsRBD9YjggRfUn&#xA;VWCyBZHqqFag/Zav0YQFL6+8neQfKfk+yNroGnpa8wBNOavPKR3klarH5dB2GTpiyDFXYq7FXYqx&#xA;v8y//Jceav8Atj3/AP1CyYCr4CyDJ2KuxV2KuxV2KuxVE6Z/x0rT/jNH/wASGKobFXYq7FXYq7FX&#xA;Yq7FU/8AIEzQ+fPLcygFo9UsnUHpVbhDviFfoFljF2KuxV2KuxV2KvjX/nJLzr/iL8wpbC3k5afo&#xA;Kmyioagz1rcP8+dE/wBjkCyDyjArsVTvyX5ovPK3mnTdftKmSwmWR0Bp6kR+GWOv+XGWX6cVffum&#xA;ajaanp1rqNnIJbS8iSe3kHRo5FDKfuOWMUTirsVdirsVYp+a8jx/ln5pZDQnS7pSfZomU9fY4Cr4&#xA;JyDJ2KuxV2KuxV2KuxVE6Z/x0rT/AIzR/wDEhiqGxV2KuxV2KuxV2KuxVO/I5A86+Xyen6StP+T6&#xA;Yq/QbLGLsVdirsVdirF/zN84R+UPJGqa4WAuIYjHZKd+VzL8EQp3AY8j7A4Cr4JlllmleWVzJLIx&#xA;eR2NWZmNSST3JyDJZirsVdir6u/5xW88jU/LNz5VupK3mjN6tmD1a0matPf05SR8mXJRKC9zySHY&#xA;q7FXYqxH83nVPyw80FiADp1wKnxZCAPpJwFXwZkGTsVdirsVdirsVdiqJ0z/AI6Vp/xmj/4kMVQ2&#xA;KuxV2KuxV2KuxV2Kpl5a/wCUj0r/AJjLf/k6uKv0Pyxi7FXYq7FXYq+Xf+csPOv1vWrDyjbSVh05&#xA;frd+B0NxKtIlPukRr/s8jJIeAZFLsVdirsVZZ+VvnSTyd5403W6n6qj+jfoK/FbS/DJsOvEfGo/m&#xA;AwhX3nFLFNEksTiSKRQ8bqaqysKggjsRk2K7FXYq7FWE/nX/AOSp8y/8wbf8SXAVD4UyDJ2KuxV2&#xA;KuxV2KuxVE6Z/wAdK0/4zR/8SGKobFXYq7FXYq7FXYq7FUdoUwg1zTpiKiK5hcgd+MgOKv0Tyxi7&#xA;FXYq7FUDrus2WiaNe6vfNwtLCF7iY9+MalqD3PQe+Kvz98x67e6/r1/rV6a3WoTvcSCpIXm1Qor+&#xA;yo+Ee2VskuxV2KuxV2KuxV9jf841eeP8Q+Q10q5k56j5fK2r16tbMCbdvoVTH/scmCgvW8KHYq7F&#xA;WCfnpMYfyl8yOBWtsqU/15UT/jbAVD4ZyDJ2KuxV2KuxV2KuxVE6Z/x0rT/jNH/xIYqhsVdirsVd&#xA;irsVdirsVROmf8dK0/4zR/8AEhir9GMsYuxV2KuxV4L/AM5X+dfqPl6x8p20lLjVXFzegHcW0LfA&#xA;pH+XKKj/AFDkZJD5YyKXYq7FXYq7FXYq9A/I3zyPKH5gWV1cSenpl/8A6DqJJoqxykcZD/xjkCsT&#xA;4VwgqX3Dk2LsVdirAPz7/wDJReY/+MMX/URHgKh8O5Bk7FXYq7FXYq7FXYqidM/46Vp/xmj/AOJD&#xA;FUNirsVdirsVdirsVdiq5HZHV0JV1IKsOoI3BxV+j+WMXYq7FWndERndgqKCWYmgAG5JJxV8Gfmp&#xA;5yfzf561TWgxNo8no2Cmu1tD8Eex6cgOZ9ycgWTEsCuxV2KuxV2KuxV2Kvt38h/PP+Lfy+s5biTn&#xA;qemf6Df8jVmaID05D3+OOhJ/mrkwUF6JhQ7FXm//ADkUSPyb8w/9Gf8A1HQYCkPibIJdirsVdirs&#xA;VdirsVROmf8AHStP+M0f/EhiqGxV2KuxV2KuxV2KuxV2Kv0fikSWNJUNUdQynpUEVHXLGK7FXYq8&#xA;u/5yL87Hy3+Xlxa28nDUdcJsbenURMK3D/RH8PsWGApD4vyCXYq7FXYq7FXYq7FXYq9Y/wCcb/PP&#xA;+G/P0enXMnDTdfC2c1eiz1Jt3/4MlP8AZYQVL7JybF2KvNP+cj5lj/J7XFINZWtEWniLyJt/oXAU&#xA;h8U5BLsVdirsVdirsVdiqJ0z/jpWn/GaP/iQxVDYq7FXYq7FXYq7FXYq7FX6MaZ/xzbT/jDH/wAR&#xA;GWMUTirsVQ15pmm33D67aQ3Xp19P1o1k48qVpyBpWgxVDf4Z8t/9Wqz/AOkeL/mnFXf4Z8t/9Wqz&#xA;/wCkeL/mnFXf4Z8t/wDVqs/+keL/AJpxV3+GfLf/AFarP/pHi/5pxV3+GfLf/Vqs/wDpHi/5pxV3&#xA;+GfLf/Vqs/8ApHi/5pxV3+GfLf8A1arP/pHi/wCacVd/hny3/wBWqz/6R4v+acVbXy55eRgy6XaK&#xA;ymqsIIgQR3Hw4qmOKuxV5d/zkt/5KLVP+M1r/wBRCYCkPi/IJdirsVdirsVdirsVROmf8dK0/wCM&#xA;0f8AxIYqhsVdirsVdirsVdirsVe1fkT+Rc/mm4h8x+YYmi8twuGt7dhRr1lPTfpCCPib9roO5BAQ&#xA;S+tlVVUKoAUCgA2AAyaG8VdirsVdirsVdirsVdirsVdirsVdirsVdiqX6/oGkeYNIudI1e2W70+6&#xA;XjNC/sahgRurKdwRuDir4z/N38nNY8gaj6ylrzy9dORY34G6nqIZ6CiyAdD0YbjuBAhlbzrArsVd&#xA;irsVdirsVROmf8dK0/4zR/8AEhiqGxV2KuxV2KuxV2Kva/yK/ImXzRLF5j8xxNF5cjblbWzVVrxl&#xA;P3iEHqf2ug7nCAgl9ZwwwwQpDCixQxKEiiQBVVVFFVVGwAHQZNC/FXYq7FXYq7FXYq7FXYq7FXYq&#xA;7FXYq7FXYq7FXYqhNW0nTdX06fTdTto7uxuVKT28o5Kyn+I6gjcHpir47/Of8ktS8i3bajYc7zyx&#xA;cPSG4Iq9uzH4Yp6fcr9D7HIEMgXluBXYq7FXYq7FUTpn/HStP+M0f/Ehirv0ZqX/ACyTf8i2/pir&#xA;v0ZqX/LJN/yLb+mKu/Rmpf8ALJN/yLb+mKu/Rmpf8sk3/Itv6Yq46bqIFTazADqfTb+mKvavyY/5&#xA;x51LWbyHXPN9pJZ6JFSSDT5QUmuj1HJdmSLxrQt223yQCCX1ZDDDBCkMKLFDEoSONAFVVUUCqBsA&#xA;BkkLsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdiqje2VpfWk1neQpcWtwhjnglUMjow&#xA;oVZTsQcVfI/50fkLqHlO7/S3l2KW+8vXUnEQIrSTWrufhjalWdD+y/0NvQtAhkC8u/w15j/6tV5/&#xA;0jy/804Fd/hrzH/1arz/AKR5f+acVd/hrzH/ANWq8/6R5f8AmnFXf4a8x/8AVqvP+keX/mnFUTp3&#xA;lvzENQtSdKvABNGSTBL/ADD/ACcVf//Z</xmpGImg:image>
+ </rdf:li>
+ </rdf:Alt>
+ </xmp:Thumbnails>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+ xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+ <xmpTPg:NPages>1</xmpTPg:NPages>
+ <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+ <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+ <xmpTPg:MaxPageSize rdf:parseType="Resource">
+ <stDim:w>513.900391</stDim:w>
+ <stDim:h>515.080078</stDim:h>
+ <stDim:unit>Pixels</stDim:unit>
+ </xmpTPg:MaxPageSize>
+ <xmpTPg:PlateNames>
+ <rdf:Seq>
+ <rdf:li>Cyan</rdf:li>
+ <rdf:li>Magenta</rdf:li>
+ <rdf:li>Yellow</rdf:li>
+ <rdf:li>Black</rdf:li>
+ </rdf:Seq>
+ </xmpTPg:PlateNames>
+ <xmpTPg:SwatchGroups>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Standard-Farbfeldgruppe</xmpG:groupName>
+ <xmpG:groupType>0</xmpG:groupType>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
+ <illustrator:Type>Document</illustrator:Type>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">ic_quick</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+ <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+ <xmpMM:DocumentID>xmp.did:09CC3CB30E20E6119281A957385E05FE</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:b03b6caf-fd53-4c62-8d35-b69c182383e2</xmpMM:InstanceID>
+ <xmpMM:OriginalDocumentID>xmp.did:09CC3CB30E20E6119281A957385E05FE</xmpMM:OriginalDocumentID>
+ <xmpMM:DerivedFrom rdf:parseType="Resource">
+ <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+ </xmpMM:DerivedFrom>
+ <xmpMM:History>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <stEvt:action>saved</stEvt:action>
+ <stEvt:instanceID>xmp.iid:09CC3CB30E20E6119281A957385E05FE</stEvt:instanceID>
+ <stEvt:when>2016-05-22T13:16:59+02:00</stEvt:when>
+ <stEvt:softwareAgent>Adobe Illustrator CS5.1</stEvt:softwareAgent>
+ <stEvt:changed>/</stEvt:changed>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpMM:History>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 9.90</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 3 0 obj <</Count 1/Kids[7 0 R]/Type/Pages>> endobj 7 0 obj <</ArtBox[19.8574 20.9502 494.684 494.934]/BleedBox[0.0 0.0 513.9 515.08]/Contents 8 0 R/LastModified(D:20160522131700+02'00')/MediaBox[0.0 0.0 513.9 515.08]/Parent 3 0 R/PieceInfo<</Illustrator 9 0 R>>/Resources<</ExtGState<</GS0 10 0 R>>/Properties<</MC0 5 0 R>>>>/Thumb 11 0 R/TrimBox[0.0 0.0 513.9 515.08]/Type/Page>> endobj 8 0 obj <</Filter/FlateDecode/Length 1804>>stream
+HˎE ])u2 VB,x‚ %x{g2AAw?=wZr|keبm׭U^^Y|V>}\4Y9Q|*>ŧ}]>o>kW8|`3ޜ^&߯[݋5/>U{;U1ϰhcyO8֨1n+v{VO7'y=Y8zuiЯx lVsW<xVhu΁"Fwi0x-倃Awyo=gf{6dE pU.In1@A8
+B?>FnyD~;EɍV[9H0pzh+Qx+kTJpb}MLPR[ˁe@˼{
+26g0Z2Zf,J˦lUb2e~=M:~lJ'5`-[9pn F2C+i@*ž+Qk$.E~M.2i9]H{ |ؙl_+9 Rp|i"Ϗli 45xIY0@גșp[ºtD6$njٍ)^X:(߼}<C2;
+
+@+@`#FTl7`_u(
+endstream endobj 11 0 obj <</BitsPerComponent 8/ColorSpace 12 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 64/Length 436/Width 64>>stream
+8;YPk!><9m#kL4Hs528nCq&+JQsd/-g['3V8:U]o*QPpT]sMFLkXB&)++QH1S)8Us
+2`Rqj<Xh%Sa>Y6i:hCpR)["orrLADM8<'kb]B_VN-bRc/[B"PU&\+?f^tZY$d%g\D
+$^J8j[[A1^?\#b3I`@t'Hn_1HD^&;8:YTNNSWLP0DjZ)YG$,4kG[MYILKV.bPKpmR
+IVn0l/AMs7$?.Ps":-NoB_;nhn$!mqXqH1,pG:eN,urnGeXH7T]6`gegPk&#0SB-:
+<23Jkptl+pr8G3\=io5Zd=2K(P*NgI3e)JS/_e!?K.ccQ_JOl-s)*Vc9$"d%M>adL
+3qsI9l>M8[iX]S#ok11SeT?o9lOTfur_TWdpJUhbJ*[*k;uB.1ajqPn9`<@(]"!.C
+5g2HI,OH3#)>FL$IsPRSf3a*HHf92/2#n>O"ki~>
+endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
+endstream endobj 5 0 obj <</Intent 14 0 R/Name(Ebene 1)/Type/OCG/Usage 15 0 R>> endobj 14 0 obj [/View/Design] endobj 15 0 obj <</CreatorInfo<</Creator(Adobe Illustrator 15.1)/Subtype/Artwork>>>> endobj 10 0 obj <</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 9 0 obj <</LastModified(D:20160522131700+02'00')/Private 16 0 R>> endobj 16 0 obj <</AIMetaData 17 0 R/AIPrivateData1 18 0 R/AIPrivateData2 19 0 R/ContainerVersion 11/CreatorVersion 15/NumBlock 2/RoundtripStreamType 1/RoundtripVersion 15>> endobj 17 0 obj <</Length 1021>>stream
+%!PS-Adobe-3.0
+%%Creator: Adobe Illustrator(R) 15.0
+%%AI8_CreatorVersion: 15.1.0
+%%For: (Arne Schwabe) ()
+%%Title: (ic_stat_vpn2.ai)
+%%CreationDate: 5/22/2016 1:17 PM
+%%Canvassize: 16383
+%%BoundingBox: 18 19 494 494
+%%HiResBoundingBox: 18.4072 19.9102 493.2334 493.894
+%%DocumentProcessColors: Cyan Magenta Yellow Black
+%AI5_FileFormat 11.0
+%AI12_BuildNumber: 39
+%AI3_ColorUsage: Color
+%AI7_ImageSettings: 0
+%%RGBProcessColor: 0 0 0 ([Passermarken])
+%AI3_Cropmarks: -1.4502 -1.04004 512.4502 514.04
+%AI3_TemplateBox: 255.5 256.5 255.5 256.5
+%AI3_TileBox: -30.1001 -150.1201 541.0996 663.1201
+%AI3_DocumentPreview: None
+%AI5_ArtSize: 14400 14400
+%AI5_RulerUnits: 6
+%AI9_ColorModel: 1
+%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
+%AI5_TargetResolution: 800
+%AI5_NumLayers: 1
+%AI9_OpenToView: -336.5 574.5 2 2463 1427 26 1 0 48 120 0 0 0 1 1 0 1 1 0 1
+%AI5_OpenViewLayers: 7
+%%PageOrigin:0 0
+%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
+%AI9_Flatten: 1
+%AI12_CMSettings: 00.MS
+%%EndComments
+
+endstream endobj 18 0 obj <</Length 26196>>stream
+%%BoundingBox: 18 19 494 494
+%%HiResBoundingBox: 18.4072 19.9102 493.2334 493.894
+%AI7_Thumbnail: 128 128 8
+%%BeginData: 26044 Hex Bytes
+%0000330000660000990000CC0033000033330033660033990033CC0033FF
+%0066000066330066660066990066CC0066FF009900009933009966009999
+%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
+%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
+%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
+%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
+%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
+%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
+%6666006666336666666666996666CC6666FF669900669933669966669999
+%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
+%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
+%9933009933339933669933999933CC9933FF996600996633996666996699
+%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
+%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
+%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
+%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
+%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
+%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
+%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
+%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
+%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
+%000011111111220000002200000022222222440000004400000044444444
+%550000005500000055555555770000007700000077777777880000008800
+%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
+%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
+%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
+%524C45FD35FFA87D527C5252FD04272627272726522752527D7DA8A8FD36
+%FF7D5252A8FD2AFF7D7D5227F827F8F8F827F827F8272027F8272027F827
+%F826F827F82727527DA8A8FD30FF7D27F827F87DFD25FFA87D522727F827
+%2627202727272627272726272727262727272627272720272627F8272627
+%52A7A8FD28FFA8A8FFFFFF52F827F827F87DFD21FFA85252F8F8F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F820F827277DA8FD23FF7D27F82651FFFF52272727262726A8FD1EFF7D52
+%262720272627272726272727262727272627272726272727262727272627
+%2727262727272627272726272727F82752A8FD20FF7D27F82726277DFFA1
+%F8272027F82727FD1BFFA87D2726F827F8272027F8272027F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F827F8517DFD1DFFA827F8272027F852FFFF52F8272727262752FD19FF7D
+%27F827202727272627272726272727262727272627272726272727262727
+%2726272727262727272627272726272727262727272627F82627A7FD1BFF
+%52F827262727267DFFFFA827F827F827F8277DFD15FFA87D27F8F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F826F8277DFD18FF7DF8
+%27F827F82727FD04FF7D27272726272051FD14FF7D52F827262727272627
+%272726272727262727272627272726272727262727272627272726272727
+%26272727262727272627272726272727262727272627202727A8FD16FF26
+%2727272627F8A8FD05FF27272027F827F852FD12FF5220F8272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272026F87DA8
+%FD13FF2720F8272027F852FD06FFA8F82727272627F8A8FD0FFF7D262727
+%272627272726272727262727272627272726272727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%2726272727F8277DFD11FF7D27272726272027A8FD07FF7DF827F827F827
+%27FD0DFFA852F826F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F82652FD0FFFA827F827F827F826
+%7DFD09FF52F8272627272752FD0BFFA827F8272627272726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%27272726272727262727272627272726272727262727272627272726FD04
+%27FD0EFF52F8272727262752FD0AFFA827F827F827F8267DFD09FF7C26F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F8272026F8A8FD0BFF7DF827F827202726FD0C
+%FF522727272627F827FD08FF522726272627272726272727262727272627
+%272726272727262727272627272726272727262727272627272726272727
+%262727272627272726272727262727272627272726272727262727272627
+%2727F87DFD0AFF262727272627F8A8FD0DFF2726F827F827F852FD06FF27
+%F8F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F852FD08FF2720F827
+%F827F852FD0EFFCF262726272727F8A8FD04FF2727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%27272726272727262727272627F852FD06FF7D2726272727F827FD10FF7D
+%F827F827202627FFFFA8F8272027F8272027F8272027F8272027F8272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F8272027F827F827A8FFFFFFA827F827F827F8207DFD11FF52F827262727
+%2752A8272726272727262727272627272726272727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%27F827A8FFFF52F8272727262752FD12FFA827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827A87DF8
+%27F827F82620FD14FF7D2726272727262727272627272726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%2726272727262727272627272726272727F851272726272727F8A8FD15FF
+%2726F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F8272027F8272027F8272027F827F852FD16FFA826272627272726272727
+%262727272627272726272727262727272627272726272727202727272627
+%272726272727262727272627272726272727262727272627272726272727
+%262727272627272726272727262727272627272726272727262727272627
+%2727F827A8FD17FF52F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F8207DFD18FF5227262727
+%2726272727262727272627272726272727262727272627272726FD072726
+%272727262727272627272726272727262727272627272726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%27272752FD18FF7D27F827F8272027F8272027F8272027F8272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F82720
+%27F8272027F8272027F8272027F8272027F827F87DFD18FF27F827272726
+%272727262727272627272726272727262727272627272720272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%272627272726274BFD17FF52F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F82652FD15FF
+%A8F82726272727262727272627272726272727262727272627272726FD07
+%272627272726272727262727272627272726272727262727272627272726
+%272727262727272627272726272727262727272627272726272727262727
+%27262727272627272726272627A8FD14FF26272027F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F82720
+%27F827F851FD13FF52262627272726272727262727272627272726272727
+%262727272627272726272727262727272627272726272727262727272627
+%272726272727262727272627272726272727262727272627272726272727
+%2627272726272727262727272627272726272727262727272627F87DFD11
+%FF7D27F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F82720A8FD10FF52F82726
+%272727262727272627272726272727262727272627272726272727262727
+%2726272727262727272627272726272627F827F827F82720272027272726
+%272727262727272627272726272727262727272627272726272727262727
+%272627272726272727262727272627272752FD0FFF7DF8272027F8272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F8272027F827F8F8F82727524B52525251522727F827F826F8272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F827F826A8FD0EFF272726272727262727272627
+%272726272727262727272627272726272727262727272627272726272727
+%2027F827277C7DA8A8FD0BFF7D7D5227F827262726272727262727272627
+%272726272727262727272627272726272727262727272627272726272727
+%2627F852FD0DFF7D20F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F8F8277D7DFD13FFA8A852
+%27F820F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F8A8FD0CFF52202726272727262727
+%272627272726272727262727272627272726272727262727272627272726
+%27F8527DFD1AFFA85227F827262727272627272726272727262727272627
+%2727262727272627272726272727262727272627272752FD0BFFA7F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272627F8272027F8
+%272027F827F8F827A8FD1EFFA852F826F8272027F8272027F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F827F827A8FD0AFF
+%512726272727262727272627272726272727262727272627272726272727
+%2627272726272727F8277CFD22FFA85227F8272727262727272627272726
+%27272726272727262727272627272726272727262727272627F87CFD09FF
+%A127F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F8277DFD25FF7D27F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F82720FD09FF7DF8
+%272627272726272727262727272627272726272727262727272627272726
+%2727272627F852FD28FFA852F82726272727262727272627272726272727
+%26272727262727272627272726272727262727277DFD08FF26272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F852FD2BFF7DF827F8272027F8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F827F851FD07FF7D272027272726272727262727
+%2726272727262727272627272726272727262727272627F852FD2DFFA826
+%272627272726272727262727272627272726272727262727272627272726
+%272727262720A8FD06FF52F827F827F827F827F827F827F827F827F827F8
+%27F827F8272027F827F827F827F827F852FD2FFFA8F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F82652FD06
+%FF2727262727272627272726272727262727272627272726272727262727
+%2726272727F852FD31FFA8F8272727262727272627272726272727262727
+%2726272727262727272627272726272652FD05FF7D272027F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F827F827A8FD32FF
+%7DF8272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F827F8A8FD04FF7DF8272727262727272627272726272727262727
+%2726272727262727272627272720277DFD15FFA8A87D7CFD0552A8A8FD14
+%FF7CF8272727262727272627272726272727262727272627272726272727
+%2627272726277DFD04FF2726F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F82027FD13FFA87D2727F820F826F827F8F8
+%F827277DA8FD12FF27F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F852FFFFFFA827262727272627272726272727
+%262727272627272726272727262727272627272726FD13FF7D51F8272627
+%27272627272726272727F8527DFD11FFA827272726272727262727272627
+%272726272727262727272627272726272727262727FFFFFF7DF827F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F827F852FD
+%11FFA827F8F8272027F8272027F8272027F8272027F82627CFFD10FF5226
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F827A8FFFF52272727262727272627272726272727262727272627272726
+%27272726272727F827A8FD10FFA820272727262727272627272726272727
+%26272727202727A8FD10FF20272727262727272627272726272727262727
+%27262727272627272726272727F87DFFFF52F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F8F852FD10FF7DF826F827F8
+%27F827F827F827F827F827F827F827F827F827F8A8FD0FFF52F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F8F852FFFF
+%FD0427262727272627272726272727262727272627272726272727262727
+%27F8A8FD0FFFA8F827262727272627272726272727262727272627272726
+%272727F8A8FD0EFFA8272727262727272627272726272727262727272627
+%27272627272726272727F852FFA827F8272027F8272027F8272027F82720
+%27F8272027F8272027F8272027F827F851FD0FFFA8F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272026F8FD0FFF27272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F827202726FFA8F827
+%262727272627272726272727262727272627272726272727262727272627
+%7DFD0FFF2727262727272627272726272727262727272627272726272727
+%26FD0427FD0EFF7DF8272727262727272627272726272727262727272627
+%27272627272726272627A85220F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F8A8FD0EFF7620F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F8F87DFD0DFFA827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F8A77DF8
+%2726272727262727272627272726272727262727272627272726272727F8
+%52FD0FFF4B26272627272726272727262727272627272726272727262727
+%2726272727F852FD0EFFFD04272627272726272727262727272627272726
+%27272726272727262727277D51272027F8272027F8272027F8272027F827
+%2027F8272627F8272027F827202052FD0EFF7DF8272027F8272027F82720
+%27F8272027F8272027F8272027F8272027F8272027F8A8FD0DFF52F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F827F87D52
+%F82727272627272726272727262727272627272726272727262727272627
+%F8A7FD0EFF27272627272726272727262727272627272726272727262727
+%27262727272627272751FD0DFF7D26262727272627272726272727262727
+%272627272726272727262727272627522727F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827A8FD0DFFA827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827A8FD
+%0CFFA7F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F85227262727272627272726272727262727272627272726272727
+%26272727262727FD0EFFA7F8272627272726272727262727272627272726
+%272727262727272627272726272727F8A8FD0CFFA8272627272726272727
+%262727272627272726272727262727272627272726274BF827F8272027F8
+%272027F8272027F8272027F827F827F8272027F8272027F852FD0EFF5226
+%2027F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F82720F852FD0CFFA8F827F8272027F8272027F8272027F8272027F82720
+%27F8272027F8272027F82727F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F8F852FD0EFF52F8272727262727272627272726
+%272727262727272627272726272727262727272627F87CFD0CFF7D27F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%525152275251522752515227525152275251522752515227525152275227
+%7DFD0EFF2726F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F82751FD0CFFA8527C5252527C5252527C5252527C52
+%52527C5252527C5252527C525227525152FD2EFF52F82727272627272726
+%27272726272727262727272627272726272727262727272627F852FD5BFF
+%2727F8272027F8272027F8272027F8272027F8272027F8272027F8272027
+%F8272027F82752FD5BFF5220272627272726272727262727272627272726
+%272727262727272627272726272727F852FD5BFF5226F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F8F852FD2DFF
+%A87DA87DA87DA87DA87DA87DA87DA87DA87DA77DA77DA8FD087DA8FD0EFF
+%7DF827262727272627272726272727262727272627272726272727262727
+%2726272727F8A8FD0CFFCFA87DA87DA87DA87DA87DA87D7D7DA87DA87DA8
+%7DA87DA87DA87DA87DA87DA87DF826F827F826F827F826F827F826F827F8
+%26F826F826F826F8F8F826F8F8F8A1FD0EFF7D27F827F8272027F8272027
+%F8272027F8272027F8272027F8272027F8272027F827F827A8FD0CFFA8F8
+%20F827F826F827F826F826F826F827F826F827F826F827F826F827F826F8
+%FD0427202727272027272720272727202727272027272726272727262726
+%27A1FD0FFFFD042726272727262727272627272726272727262727272627
+%272726272727262727FD0DFFA82726272027272720272727262727272027
+%2727202727272027272720FD0427F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F8A8FD0FFF7DF827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F87DFD0DFFA8F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8FD
+%042726272727262727272627272726272727262727272627272726272727
+%A7FD0FFFA827262726272727262727272627272726272727262727272627
+%2727262727272027A8FD0DFF7D2727272627272726272727262727272627
+%2727262727272627272726FD0427F8272027F8272027F8272027F8272027
+%F8272027F8272027F8272027F827F87DFD10FF52262027F8272027F82720
+%27F8272027F8272027F8272027F8272027F82720F852FD0EFF7DF8272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F827F8272726
+%27272726272727262727272627272726272727262727272627272720277D
+%FD11FFFD0427262727272627272726272727262727272627272726272727
+%262727FD0FFF7D2720272727262727272627272726272727262727272627
+%272726272727262727F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F8A1FD11FF7DF827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F8A8FD0FFFA1F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827272627272726272727
+%262727272627272726272727262727272627272726277DFD12FF7DF82726
+%2727272627272726272727262727272627272726272727F87DFD10FF7D27
+%262727272627272726272727262727272627272726272727262727272627
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F82720
+%27F8A8FD13FF52F827F8272027F8272027F8272027F8272027F8272027F8
+%27F87DFD11FFA8F827F8272027F8272027F8272027F8272027F8272027F8
+%272027F8272027F84B272727262727272627272726272727262727272627
+%272726272727262727277DFD14FF7DF82726272727262727272627272726
+%27272726272727F87DFD12FF7D2727272627272726272727262727272627
+%2727262727272627272726FD0427F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F87DFD15FFA726F8F827F827F827F827
+%F827F827F827F827F82627A8FD13FF7DF827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F8FD042726272727262727272627
+%2727262727272627272726272727262727277DFD17FF5227F82726272727
+%2627272726272727F82752FD15FF7D272727262727272627272726272727
+%26272727262727272627272726FD0427F8272027F8272027F8272027F827
+%2027F8272027F8272027F8272027F827F87DFD18FFA87D2727F8272027F8
+%272027F827277DA8FD16FF7DF8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F827F82727262727272627272726272727262727
+%2726272727262727272627272726277DFD1AFFA8F8272627272726272727
+%F8A8FD18FF7D262627272726272727262727272627272726272727262727
+%2726272727262727F827F827F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F87DFD1AFF5226F827F827F827F827F82052FD18FF7D
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F82727262727272627272726272727262727272627272726272727262727
+%2726277DFD19FFA827272726272727262727272027A8FD17FF7D27262727
+%272627272726272727262727272627272726272727262727272627272027
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F87D
+%FD19FF7DF8272027F8272027F8272027F87DFD17FF7DF827F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F84B272727262727
+%2726272727262727272627272726272727262727272627272752FD19FF27
+%27262727272627272726FD0427FD17FF5227272726272727262727272627
+%272726272727262727272627272726FD0427F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F852FD18FF7D26F827F827F8
+%27F827F827F827F8F87DFD16FF52F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F8FD0427262727272627272726272727
+%2627272726272727262727272627272752FD18FF52202726272727262727
+%2726272727F852FD16FF5227272726272727262727272627272726272727
+%262727272627272726FD0427F8272027F8272027F8272027F8272027F827
+%2027F8272027F8272027F827F876FD17FFA8F8272027F8272027F8272027
+%F8272027F8A8FD15FF76F8272027F8272027F8272027F8272027F8272027
+%F8272027F8272027F827F827272627272726272727262727272627272726
+%2727272627272726272727262752FD17FF52272627272726272727262727
+%2726FD0427FD15FF52272627272726272727262727272627272726272727
+%2627272726272727262727F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F876FD16FFA827F827F827F827F827F827F827
+%F827F827F8207DFD14FF52F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F8272726272727262727272627272726272727
+%262727272627272726272727262752FD16FF7DF827262727272627272726
+%27272726272727F852FD14FF522726272727262727272627272726272727
+%2627272726272727262727272627272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F8272027F852FD16FF26272027F8272027F827
+%2027F8272027F8272027F8A8FD13FF52F827F8272027F8272027F8272027
+%F8272027F8272027F8272027F8272027F84B272727262727272627272726
+%2727272627272726272727262727272627272752FD15FF7D272627272726
+%27272726272727262727272627272752FD13FF5227272726272727262727
+%272627272726272727262727272627272726FD0427F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F852FD15FF51F827F8
+%27F827F827F827F827F827F827F827F827F827A8FD12FF52F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F8FD04272627
+%272726272727262727272627272726272727262727272627272752FD14FF
+%A8F8272627272726272727262727272627272726272727F87DFD12FF5227
+%272726272727262727272627272726272727262727272627272726FD0427
+%F8272027F8272027F8272027F8272027F8272027F8272027F8272027F827
+%F852FD14FF4B272027F8272027F8272027F8272027F8272027F827202726
+%FD12FF52F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F827F827272627272726272727262727272627272726272727262727
+%272627272726274BFD13FFA8272027272726272727262727272627272726
+%272727262727277DFD11FF27272627272726272727262727272627272726
+%2727272627272726272727262727F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F851FD13FF7CF827F827F827F827F827
+%F827F827F827F827F827F827F827F827A8FD0FFFA851F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F827272627272726
+%2727272627272726272727262727272627272726272727262727FD13FF27
+%27262727272627272726272727262727272627272726272727F8A8FD10FF
+%272726272727262727272627272726272727262727272627272726272727
+%2627272027F8272027F8272027F8272027F8272027F8272027F8272027F8
+%272027F852FD12FF7D262027F8272027F8272027F8272027F8272027F827
+%2027F827202627FD10FF52F827F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F84B2727272627272726272727262727272627
+%2727262727272627272726FD0427FD12FF51F82727272627272726272727
+%262727272627272726272727262727277DFD0FFFFD042726272727262727
+%272627272726272727262727272627272726FD0427F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F827F827F851A8FD10FFA8F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F852FD0F
+%FF4BF827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F8FD0427262727272627272726272727262727272627272726272727
+%26FD0427FD11FF5227262727272627272726272727262727272627272726
+%27272726272727F8A8FD0EFFFD0427262727272627272726272727262727
+%27262727272627272726FD0427F8272027F8272027F8272027F8272027F8
+%272027F8272027F8272027F827F827A8FD0FFFA827F827F8272027F82720
+%27F8272027F8272027F8272027F8272027F827202051FD0DFFA827F82720
+%27F8272027F8272027F8272027F8272027F8272027F8272027F827F82727
+%262727272627272726272727262727272627272726272727262727272627
+%27FD10FF7DF8272727262727272627272726272727262727272627272726
+%27272726272627A8FD0DFF27272627272726272727262727272627272726
+%2727272627272726272727262727F827F827F827F827F827F827F827F827
+%F827F827F827F827F827F827F827F827A8FD0FFF2627F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827F852FD0CFFA827F8
+%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
+%272726272727262727272627272726272727262727272627272726272727
+%262727FD0FFF7D2726272727262727272627272726272727262727272627
+%27272627272726FD0427FD0DFF2727262727272627272726272727262727
+%272627272726272727262727272627272027F8272027F8272027F8272027
+%F8272027F8272027F8272027F8272027F827FD0FFF4BF827F8272027F827
+%2027F8272027F8272027F8272027F8272027F8272027F827202052FD0BFF
+%A827F827F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F84B2727272627272726272727262727272627272726272727262727
+%2726FD0427FD0EFFA8F82726272027262720272627202726272027262720
+%272627202726272027262720272027A8FD0BFFFD04272627272726272727
+%2627272726272727262727272627272726FD0427F827F827F827F827F827
+%F827F827F827F827F827F827F827F827F827F827F827A8FD0DFF27F8F827
+%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
+%F827F87DFD0AFFA827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F8FD04272627272726272727262727272627272726
+%2727272627272726FD0427FD0EFFFD26A8FD0BFFFD042726272727262727
+%272627272726272727262727272627272726FD0427F8272027F8272027F8
+%272027F8272027F8272027F8272027F8272027F827F827A8FD3DFFA827F8
+%272027F8272027F8272027F8272027F8272027F8272027F8272027F827F8
+%272726272727262727272627272726272727262727272627272726272727
+%262727FD3FFF272726272727262727272627272726272727262727272627
+%272726272727262727F827F827F827F827F827F827F827F827F827F827F8
+%27F827F827F827F827F827A8FD3DFFA827F827F827F827F827F827F827F8
+%27F827F827F827F827F827F827F827F827F8272726272727262727272627
+%272726272727262727272627272726272727262727FD3FFF522726272727
+%2627272726272727262727272627272726272727262727272627272027F8
+%272027F8272027F8272027F8272027F8272027F8272027F827202626A8FD
+%40FF4BF8F8272027F8272027F8272027F8272027F8272027F8272027F827
+%2027F84B2727272627272726272727262727272627272726272727262727
+%27262727FD43FF5227202727272627272726272727262727272627272726
+%27272726FD0427F827F827F827F827F827F827F827F827F827F827F827F8
+%27F827F82026A8FD44FF52F8F827F827F827F827F827F827F827F827F827
+%F827F827F827F827F8FD0427262727272627272726272727262727272627
+%272726FD0427FD47FF522727272627272726272727262727272627272726
+%27272726FD0427F8272027F8272027F8272027F8272027F8272027F82720
+%27F82727A8FD48FF5226F827F8272027F8272027F8272027F8272027F827
+%2027F827F82727262727272627272726272727262727272627272726FD04
+%27FD4BFF7D27262726272727262727272627272726272727262727272627
+%27F827F827F827F827F827F827F827F827F827F827F827F82627A8FD4CFF
+%7D26F827F827F827F827F827F827F827F827F827F827F827F82727262727
+%2726272727262727272627272726272727262727FD4FFF7D27F827272726
+%2727272627272726272727262727272627272027F8272027F8272027F827
+%2027F8272027F827202027FD51FF7D27F8272027F8272027F8272027F827
+%2027F8272027F84B272627F8272627F8272627F8272627F8272627F82727
+%FD53FFA827F8272027F8272027F8272027F8272027F82720FD162752FD55
+%FF7D512752275227522752275227522752275227522752
+%%EndData
+
+endstream endobj 19 0 obj <</Length 26710>>stream
+%AI12_CompressedDataxvɲ(8{-FNoB)~4o&3e0}Ϭ^*+"322\Fdޘ-OfR0]&GS݆Ϧrgv4tȐ2hk١hfY3}Z32F?Ca;|۵;;
+kh
+VZnS z@0}0q z>=xX7me=\J6=xfٚZ~:taҔ}
+^G_'FS:E
+ ap(豟W%$k}R.*L 7z&RLķA@$Fg5,)1m/$
+TZA*~VmJD19Sq\XM)AD#1֯DTb` 3_(A&s`G=nl*P4c9ՀYnvvWJXO'(#2 vSs
+G$!Hz
+@M6sI_cә A_JX8$w]@|
+lќQtZ?GR=t`9 RoJ'Yw9]hLuױ:Z5F5kC62r>1 Nb+j\4cޙ)Th
+ @h}Ș~ʿ(!_0a3&HeE1⼉ьFܦI?*g XͿVrP8UӔHHX$uXug6/у0śu德agߪA*EBn[u5FqXy#0 A8ƶ?nkw ni/֡`1mX(oo~FUk(Ehfj|Hsia JFNH^
+1\x]sػ^p!,#o
+:I-6FEbWx2:X.Ș@뵰lGfb{=T@i&F< x[6+
+f2P=l֌CB.N
+Y簾`d~Uʶ . +m1? g3/h_y;EsL1Qp \ޅ&Lm͆f8߭Z
+e
+{^F
+=s`?n]'+sޙ<Xgh¤6cQoya]<sn
+ G(Q
+GD{gɴvɈQ.mA
+V`}|3'D3@|NGnWvKJ\|r`~hpR=J&&I՛!w㺗d{"HxߌQE֑-
+ Va 5 V Mg&43w|eGR*xØҴT5dڏc6X>[{[(5ڕ"x
+~_
+>ϮQt4b>wJ߰\hR,ClS %7š}oٟx];L{ֽ0.<G9k_ٰ6D#?à+ n
+PqR@n1.^]閸nY4JMqJAgkT)&4dh5FW`h^1F $EQV0R[әiwbF1z)Y<E;#a<ʛkIE2{taeu&fv u7
+q\n3?8Y[Qq|Ttff{ZCLs[=zyƅ\'=ō؀}8>F/v=Jf<,1Sh83Zdž[,/ulYL`
+Scmc:/TӉ7˹%iC DOIWxv2~h[fVw|X)vt뾂Q.P"Shg"&'3SeE2Rk״KO;Y+I+b2úՒRttKMp)ԘɆ:V{$KǕ+)ӿ7a
+ :x<sL{ x*{cO:,w9nKHX-PٖE}c{X,$7/#~z*t4E\ۇM 1YaK|}njvɆ*m ѩn:u}p}E`LW3',_JPوpE{e
+O(-y*ك% щW`)~к!/֊/J:> é`!T hP^߆,ں0
+jס@/[&z,yxkd6Ɂh
+v!$I whO(Sc(rD
+wf}on_~(> u%*r3 h"g;1Ɵ`dBC8n2 ]GW ,@6S
+7 +5lrUI@O)B"Sa;;o< U!ȷn<\4ѦYI:X.ե^󨔝J]oNq(mR1I۬^BmkVx%:@WwpV㴱D9KKfNB;GxdZErIo݊y,L Mҋ%4 4+x <Қ^C0/XK0x:'2pnx.<5pox|#1mo [z3OTYQ!4=|cZz5{O)CF Ԁ~=5<y sˆo~-xZ9g!l7+?%Ggz5Bd/ƃV(ri+;Cs=]]
+ְy
+ɰ"4q(fuEOzH4ɨ|+Sa1Q*oc-s!`^m8a!,njt7CXg ҩ8dWp}(cݖ~ 5D$jXGt/Jv>Q
+Ј6[TZweAǛ+|yRj)m2V*X֛P4tO7
+/ Kw5jcrZ\%7#[@΃+~Frc5zEg9bGko"*bh߭[yѪVZxoVڮ+"V87Rĭp[ k2֚ %Ptzwp;vUHz*X t!
+odE*+DzⓇ<…zo/EPB6vq*pUrrE> V!\X2f>CXğl
+ K&U? wDßw+?ʞJڿ5ƫAX<8Wyʚd68wD-𣧇5jO3Dm\
+Qctm~fw! j'IwCXp -~];CG-
+q[k[f.F`Y-c--%q,)oҫ
+VqSkup"Xkc+15U
+U
+T`Ն|0ָÏ>qn 4adfrjai<I{>r*40d O\qI |s\<i/ohbTv;-VQCS*8 uGy]Q+=*4Ϡ]
+0~ԛQ\YI/eYKSEA&\GK#n(1<_zj\C1!-oMzd
+p % ir"T]oj
+'5cdp?T{:[e2+hܪ'q\츔yW (f=$4)qB'^ y .A↣v/>f EhCF*(\IK =XCQ+>G
+XES1.
+GsٔFGs497"2=#ٟFi,@\84>ב]B/JjMWŮƢqP0E3zpx&!lDA/`EJ:NΌe$B8)
+)kݿaCH/S+"jJVzusr8YV
+`gY!12
+ߍ25[^7
+9;ȸp,@`u!=C
+D-bޞ &NV?c]#;dQ$݀krȤ-nrtCs Σ{-@)H7.=(
+L9K
++Z::18OJ,]<êPˇ'*UΧ]w.SΧ]'5(ӮK)Ӯ廒.^Χ]ǩkC_Oq|h<!~ l|u`d$@ +Ѷܹ|ۏ0 n؎_)KR'o;(9Le8eZ);TFxPb]g] O^KO[ }lb6;;_ip9|
+ܧU68tݲcKH^n^ٝu hbrhп(|SiL~ {`ׁoџ Ţ ]Ԯ<*Ö~
+ү#j
+eQO=`,ԡTIwԷ1@S8h:?G-p4i=,SDŖ`2sPBђ썕i 
+ӭF=YƊZneR@"Qu}b!eC:R:`Z%<-b;%_a^R S2=*AZ=^utSQ]. ['~*ł4*ؤ@|O|_'ӕpȩbh %Y\7W‰cƺu\FFIw;yE8mpv&p_+yzacЫx8>zX= 5RF\i΍b
+Ia=^2˼]2Oen.]㭩 :KCn8" ZR/4%
+vҁWjUײ>3v*ZYtBBy{:bv~Z6yXY /^iv盯xmv3a̞j?D6 ||Jz[)-)clYiٝ}x\Zew=*Vt
+ְf]!u&rk@BKZt*B}Z9ӯέZ)ڛVݔaSUV/Y:C5 %".:嵍*V5FafXM-\}cCVJAR3
+':+S>(Svg)UЧ)E
+@,SSX9dWاG )UK4}JU}W*^g)٤W d/Uا-uqO,Sk Ywf͉}**EN,!ؘWe)
+;9I^:GdA=kwh wNҕ2/paTw
+\> w13Sv߉sbY5Ơn?Ӵ(k.qDYavKT.;6yAHGK^wup'd
+"1eX ctztR<\9~Hվ?ߍ2^CYSH"МTZ#jڜVav=W{P0wrbaE/w|/S@gsqFα1D(
+ſ٧SEI^I]Q~
+ly.q%GfJAjI׭y50c4i*
+y94jڰ/I#aJ`ya:ϑuziscEt+WGT1RcstI a㒶IwDA[t/S'WTz ubkTS?.1%bs(ەT<_pm?s5ҺB9>΂ZB{%ܷv _hDGR
+nAm.+ ?\BQˏ3.+˴B.zŀF/+ve`
+Bx(jv({!Ϫʷmz)Zp.qxY9P/<.
+ɴ/<^Ƃ./:Cm'NPtpۡsʅyYXy(%ąڷ
+  POP=]Cs c8v1lo;=.<A%.<NV{Z1qf#F$R@Һ)p΅)vx9Cm(W_rvx^)ɋ.m6kC+|a=v#q慇Bb^dC2jvx]xxrl#qq/p!E>Pk^x{E9CB_<CE&n;<O5~}ϳ.<6~.< T|ltPkqOP +V. O-տ*$ϾPn;d\CNCNvk^Cm'
+o;<")%}ϣ.<TmJQivx%;Z o;L/<.UV'\x}ۡfHWC<yօX6'\x:hHMCCy_x+PHU.ݡ~S8H#eCL^>yD!El) U[Y LP#'
+
+HH[fI*oJbh fG)hlXuuu>Z
+f׳%ЮfvZXQE.(DIgL
+dk-
+^m}0"F|}!ck
+6lv<Ǡ2Ekdn
+tp^]
+ .\7AR~pof _jܹwq+}{. ؚ7NC[W03\dpf7U0 - pvӛ2VL}eu~4:c_<1Yi݊l=~T7!vkr!Ā4
+IМccϊ΅x\ea{I8z#U̇BGfG[FQG}g:9o:7[Ts~:^΂톂==}(X6
+Qi~!v9z%~ﰢc9FFGnԱoua`9o׫QWslꅵL9}<ɏ#< #eGWF_P&4a}B_I. IQ ]r 4P~!M>ߣoNJ>Lh.|Km.]֟yoPp4o7Ru4cf{}v4J^{K ^?,EqdXD1shZg'.2>x`9ӎ,Dv"CG@sw<i9z͝oazQtp,A` $`8nv|OpK
+>g],irP~
+NG_N,_^,Ź7[@g>9,RDۛ(6d>n%VG8 
+` A7;w< mJ!'+\
+m|oK}an$t_d7lwV 
+Jg;OU&K-i@`񝮺2*I%5B$ZR7::x`5sne%G.-"Ya ^oJ]+ M`0j5K|mr_+q/_B/HST.Wzg|VRh3 hCXd7O}sI$?'Ңlm -%?pwk=-gL3]x $яO#,^'=M5@]ҌBd!]1h9-nރNߋo]nlZLmܐ_Eh'̉.%S=Qwlg°++0}deh8w( M= D?^}v⫢<l'
+ Ί Y )}c[eVdWx'VLK h삱ĝ
++IA,
+rnQDiN;Bм?F}(^8?9-Hm1K6/p
+ 5 5Vt p&x3:{u\Ƃ[-g:}~Ɓp 2}ۗ}I%u_67N$c)oDe d0FmU8, o`S<yyIy" ۈ'[apKeKеfo>eKͽ6emwFd.t`hC}HŭQ"81"~7Wj.Um}_h1ZM]cnP& 繝YNp۪; v<q >BG* L=p"
+s-͠t\vy~fpjgщ`uj9݅/(Ƣr(YO/pb\,|Ag3YY8c}!~b(Բo.KO'pl 9¹?x!ӻ
+Kx+3ٓsk #É|O ^rػ?V- #Xl &Gg\G_9R~+ Fu;q6m/^zl1G/ :׊7oVCR!+Y%AS/Lklg-3!E&;?W_'^Y>+lą?ic2(8}
+COU<H?~b{SIumFN /Hz:(>~AH8rC_BE0X$oUsfD~٧NWw]VU#BUG\e?EH#O?7/^]_ ׏YXXpLy'b9cHc!ϘCJs}!1rxr}H{MH1|NOfF wym'ַK'lc##kesG jòkᷧ'ٶa%Xfalŭn-ZYjR۬16m>ϚdJ*[OiyZ(f[]'J(|Q$mK'ty'IۢUm#%].8eNYF$ଉ
+E3dR*qŦ+FJmwh1#n|.cC2^@NFnR hį?JTpQ(gcy/nT܌ Aފ\ˉ9N`L\jdLlYqDL"KR.cw 'Ή9L&`K*&IlÔI,~bf0e2߶a3I$+$ 9ݪ y{
+> ϷMY,KM?\ұN?f E,ղNX=@5+
+l }br\ 5ua4Rf~`B3{/9:fR[Zj
+ftR@)y)ȫ %`m,Ix)Kf` s^A.C9"r\' 5Lg,x3YK,e5 u[;(f\ra|}j(si%=u, M
+}v=JBr-سil`R喹gXw<P{Q&$E>p
+ͺR=h˗.(NGI_#.* zxw]ceIУ;tĨe Rdcg
+G2OˣHM`Bk(L꼺 cLԙ|ZMNb
+0AvwsN `hŖӂ6 g,HO gdͦKؾ&l*Ĥ)qFMs3;JzcgR'E10ՒLd՝#*]֫C8Kb&=4 X$)T@ʌꃬ$D
+a]}&u,HQ@6j>ۚ )(*Ghe~8 7ލz
+?R6
+ a
+endstream endobj 6 0 obj [5 0 R] endobj 20 0 obj <</CreationDate(D:20160522131700+02'00')/Creator(Adobe Illustrator CS5.1)/ModDate(D:20160522131700+02'00')/Producer(Adobe PDF library 9.90)/Title(ic_quick)>> endobj xref
+0 21
+0000000000 65535 f
+0000000016 00000 n
+0000000144 00000 n
+0000019882 00000 n
+0000000000 00000 f
+0000023284 00000 n
+0000077915 00000 n
+0000019933 00000 n
+0000020270 00000 n
+0000023583 00000 n
+0000023470 00000 n
+0000022144 00000 n
+0000022722 00000 n
+0000022770 00000 n
+0000023354 00000 n
+0000023385 00000 n
+0000023656 00000 n
+0000023830 00000 n
+0000024903 00000 n
+0000051152 00000 n
+0000077938 00000 n
+trailer
+<</Size 21/Root 1 0 R/Info 20 0 R/ID[<C5E7F1AE58F74947B8E8A5CF1EEC92FC><5AEFD7CB080F214F8FA92B34A35D86D2>]>>
+startxref
+78112
+%%EOF
diff --git a/misc/ignore_rsync_breakpadsync b/misc/ignore_rsync_breakpadsync
new file mode 100644
index 00000000..67123816
--- /dev/null
+++ b/misc/ignore_rsync_breakpadsync
@@ -0,0 +1,5 @@
+.git
+.gradle
+main/obj
+*.apk
+build/
diff --git a/misc/todo-keychain-crash.txt b/misc/todo-keychain-crash.txt
deleted file mode 100644
index 04ac32e1..00000000
--- a/misc/todo-keychain-crash.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-V/TEEKeyMaster( 131): Closing subsession 0x404fd468: 0x0
-E/ActivityThread(18919): Activity de.blinkt.openvpn.LaunchVPN has leaked ServiceConnection android.security.KeyChain$1@42145e30 that was originally bound here
-E/ActivityThread(18919): android.app.ServiceConnectionLeaked: Activity de.blinkt.openvpn.LaunchVPN has leaked ServiceConnection android.security.KeyChain$1@42145e30 that was originally bound here
-E/ActivityThread(18919): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:974)
-E/ActivityThread(18919): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:868)
-E/ActivityThread(18919): at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1452)
-E/ActivityThread(18919): at android.app.ContextImpl.bindService(ContextImpl.java:1440)
-E/ActivityThread(18919): at android.security.KeyChain.bind(KeyChain.java:444)
-E/ActivityThread(18919): at android.security.KeyChain.getCertificateChain(KeyChain.java:336)
-E/ActivityThread(18919): at de.blinkt.openvpn.VpnProfile.getKeyStoreCertificates(VpnProfile.java:562)
-E/ActivityThread(18919): at de.blinkt.openvpn.VpnProfile.getKeyStoreCertificates(VpnProfile.java:549)
-E/ActivityThread(18919): at de.blinkt.openvpn.VpnProfile.getConfigFile(VpnProfile.java:251)
-E/ActivityThread(18919): at de.blinkt.openvpn.VpnProfile.prepareIntent(VpnProfile.java:538)
-E/ActivityThread(18919): at de.blinkt.openvpn.core.VPNLaunchHelper.startOpenVpn(VPNLaunchHelper.java:71)
-E/ActivityThread(18919): at de.blinkt.openvpn.LaunchVPN$startOpenVpnThread.run(LaunchVPN.java:374)
-W/ActivityManager( 443): Unbind failed: could not find connection for android.os.BinderProxy@4277f580
-W/dalvikvm(18919): threadid=16: thread exiting with uncaught exception (group=0x419bd700)
-E/AndroidRuntime(18919): FATAL EXCEPTION: Thread-738
-E/AndroidRuntime(18919): java.lang.IllegalArgumentException: Service not registered: android.security.KeyChain$1@42145e30
-E/AndroidRuntime(18919): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:926)
-E/AndroidRuntime(18919): at android.app.ContextImpl.unbindService(ContextImpl.java:1485)
-E/AndroidRuntime(18919): at android.security.KeyChain$KeyChainConnection.close(KeyChain.java:412)
-E/AndroidRuntime(18919): at android.security.KeyChain.getCertificateChain(KeyChain.java:355)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.VpnProfile.getKeyStoreCertificates(VpnProfile.java:562)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.VpnProfile.getKeyStoreCertificates(VpnProfile.java:549)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.VpnProfile.getConfigFile(VpnProfile.java:251)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.VpnProfile.prepareIntent(VpnProfile.java:538)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.core.VPNLaunchHelper.startOpenVpn(VPNLaunchHelper.java:71)
-E/AndroidRuntime(18919): at de.blinkt.openvpn.LaunchVPN$startOpenVpnThread.run(LaunchVPN.java:374)
-W/ActivityManager( 443): Force finishing activity de.blinkt.openvpn/.LogWindow
diff --git a/remoteExample/build.gradle b/remoteExample/build.gradle
index 82b2a38d..7e063c75 100644
--- a/remoteExample/build.gradle
+++ b/remoteExample/build.gradle
@@ -1,12 +1,17 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
apply plugin: 'com.android.application'
android {
- compileSdkVersion 23
- buildToolsVersion '23.0.2'
+ compileSdkVersion 26
+ buildToolsVersion '26.0.0'
defaultConfig {
minSdkVersion 15
- targetSdkVersion 23
+ targetSdkVersion 26
versionCode 1
versionName "1.0"
}
diff --git a/remoteExample/src/main/AndroidManifest.xml b/remoteExample/src/main/AndroidManifest.xml
index abd7b621..1278df95 100644
--- a/remoteExample/src/main/AndroidManifest.xml
+++ b/remoteExample/src/main/AndroidManifest.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.blinkt.openvpn.remote" >
diff --git a/remoteExample/src/main/assets/test.conf b/remoteExample/src/main/assets/test.conf
index 3dc917aa..7f2e4521 100644
--- a/remoteExample/src/main/assets/test.conf
+++ b/remoteExample/src/main/assets/test.conf
@@ -7,7 +7,7 @@ dev tun
topology subnet
remote openvpn.blinkt.de 2000
-tls-remote openvpn.blinkt.de
+verify-x509-name openvpn.blinkt.de name
<auth-user-pass>
wronguser
diff --git a/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainActivity.java b/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainActivity.java
index 900383a2..41b54e17 100644
--- a/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainActivity.java
+++ b/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainActivity.java
@@ -1,3 +1,8 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
package de.blinkt.openvpn.remote;
import android.app.Activity;
diff --git a/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainFragment.java b/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainFragment.java
index a6d2baf5..6eb85e9b 100644
--- a/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainFragment.java
+++ b/remoteExample/src/main/java/de/blinkt/openvpn/remote/MainFragment.java
@@ -1,3 +1,8 @@
+/*
+ * Copyright (c) 2012-2017 Arne Schwabe
+ * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ */
+
package de.blinkt.openvpn.remote;
import android.app.Activity;
diff --git a/remoteExample/src/main/res/layout/activity_main.xml b/remoteExample/src/main/res/layout/activity_main.xml
index 42dd4dfb..17585e2b 100644
--- a/remoteExample/src/main/res/layout/activity_main.xml
+++ b/remoteExample/src/main/res/layout/activity_main.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
diff --git a/remoteExample/src/main/res/layout/fragment_main.xml b/remoteExample/src/main/res/layout/fragment_main.xml
index 9279bd69..eda36740 100644
--- a/remoteExample/src/main/res/layout/fragment_main.xml
+++ b/remoteExample/src/main/res/layout/fragment_main.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
diff --git a/remoteExample/src/main/res/menu/main.xml b/remoteExample/src/main/res/menu/main.xml
index f732c1b4..2aec1f7d 100644
--- a/remoteExample/src/main/res/menu/main.xml
+++ b/remoteExample/src/main/res/menu/main.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="de.blinkt.openvpn.remote.MainActivity" >
diff --git a/remoteExample/src/main/res/values-w820dp/dimens.xml b/remoteExample/src/main/res/values-w820dp/dimens.xml
index 63fc8164..1adf4310 100644
--- a/remoteExample/src/main/res/values-w820dp/dimens.xml
+++ b/remoteExample/src/main/res/values-w820dp/dimens.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<resources>
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
(such as screen margins) for screens with more than 820dp of available width. This
diff --git a/remoteExample/src/main/res/values/dimens.xml b/remoteExample/src/main/res/values/dimens.xml
index a0171a70..629fa2ea 100644
--- a/remoteExample/src/main/res/values/dimens.xml
+++ b/remoteExample/src/main/res/values/dimens.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
diff --git a/remoteExample/src/main/res/values/strings.xml b/remoteExample/src/main/res/values/strings.xml
index 49d4978d..30e05648 100644
--- a/remoteExample/src/main/res/values/strings.xml
+++ b/remoteExample/src/main/res/values/strings.xml
@@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<resources>
<string name="app_name">OpenVPN Remote</string>
diff --git a/remoteExample/src/main/res/values/styles.xml b/remoteExample/src/main/res/values/styles.xml
index ff6c9d2c..746cf3dd 100644
--- a/remoteExample/src/main/res/values/styles.xml
+++ b/remoteExample/src/main/res/values/styles.xml
@@ -1,3 +1,8 @@
+<!--
+ ~ Copyright (c) 2012-2017 Arne Schwabe
+ ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
+ -->
+
<resources>
<!-- Base application theme. -->
diff --git a/settings.gradle b/settings.gradle
index 937181ea..46cb21bf 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,5 +4,4 @@
*/
include ':main'
-include ':vpndialogxposed'
include ':remoteExample'
diff --git a/vpndialogxposed/build.gradle b/vpndialogxposed/build.gradle
deleted file mode 100644
index 06a2e50e..00000000
--- a/vpndialogxposed/build.gradle
+++ /dev/null
@@ -1,55 +0,0 @@
-repositories {
- jcenter()
-}
-
-configurations {
- provided
-}
-apply plugin: 'com.android.application'
-
-dependencies {
- compile 'com.intellij:annotations:12.0'
- provided files('libs/XposedBridgeApi.jar')
-}
-
-
-android {
- compileSdkVersion 23
- buildToolsVersion '23.0.2'
-
- defaultConfig {
- minSdkVersion 14
- targetSdkVersion 21
- versionCode = 3
- versionName = "0.3"
-
- }
-
- signingConfigs {
- release
- }
-
- buildTypes {
- release {
- signingConfig signingConfigs.release
- }
- }
-}
-
-
-
-// ~/.gradle/gradle.properties
-if (project.hasProperty('keystoreFile') &&
- project.hasProperty('keystorePassword') &&
- project.hasProperty('keystoreAliasPassword')) {
- android.signingConfigs.release.storeFile = file(keystoreFile)
- android.signingConfigs.release.storePassword = keystorePassword
- android.signingConfigs.release.keyPassword = keystoreAliasPassword
- android.signingConfigs.release.keyAlias = keystoreAliasXposed
-} else {
- android.buildTypes.release.signingConfig = null
-}
-
-android.applicationVariants.all { variant ->
- variant.javaCompile.classpath += configurations.provided
-}
diff --git a/vpndialogxposed/libs/XposedBridgeApi.jar b/vpndialogxposed/libs/XposedBridgeApi.jar
deleted file mode 100644
index a87ddb46..00000000
--- a/vpndialogxposed/libs/XposedBridgeApi.jar
+++ /dev/null
Binary files differ
diff --git a/vpndialogxposed/src/main/AndroidManifest.xml b/vpndialogxposed/src/main/AndroidManifest.xml
deleted file mode 100644
index a3363a71..00000000
--- a/vpndialogxposed/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (c) 2012-2016 Arne Schwabe
- ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- -->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="de.blinkt.vpndialogxposed" >
-
-
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- >
-
- <activity
- android:name=".AllowedVPNsChooser">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
-
- <category android:name="android.intent.category.BROWSABLE"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
-
- <meta-data
- android:value="true"
- android:name="xposedmodule"/>
- <meta-data
- android:value="2.0*"
- android:name="xposedminversion"/>
- <meta-data
- android:value="Allows OpenVPN for Android to establish a VPN connection without confirmation dialog"
- android:name="xposeddescription"/>
- </application>
-
-</manifest>
diff --git a/vpndialogxposed/src/main/assets/xposed_init b/vpndialogxposed/src/main/assets/xposed_init
deleted file mode 100644
index b228b31c..00000000
--- a/vpndialogxposed/src/main/assets/xposed_init
+++ /dev/null
@@ -1 +0,0 @@
-de.blinkt.vpndialogxposed.VpnDialogPatcher
diff --git a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/AllowedVPNsChooser.java b/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/AllowedVPNsChooser.java
deleted file mode 100644
index 53777d1d..00000000
--- a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/AllowedVPNsChooser.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2012-2016 Arne Schwabe
- * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- */
-
-package de.blinkt.vpndialogxposed;
-
-import android.Manifest;
-import android.app.ListActivity;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ServiceInfo;
-import android.os.Bundle;
-import android.widget.AbsListView;
-import android.widget.ArrayAdapter;
-import android.widget.ListAdapter;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Random;
-import java.util.Set;
-import java.util.Vector;
-
-
-public class AllowedVPNsChooser extends ListActivity {
-
- public static final String ALLOWED_APPS = "allowedApps";
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- Collection<VpnApp> vpnApps = getVpnAppList();
- ListAdapter la = new ArrayAdapter<VpnApp>(this, android.R.layout.simple_list_item_multiple_choice, vpnApps.toArray(new VpnApp[vpnApps.size()]));
- setListAdapter(la);
- setContentView(R.layout.vpnapplayout);
- getListView().setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
-
-
- Collection<String> allowedapps = getAllowedApps();
- for(int i=0; i < vpnApps.size(); i++) {
- VpnApp va= (VpnApp) getListView().getItemAtPosition(i);
- boolean allowed = allowedapps.contains(va.mPkg);
- getListView().setItemChecked(i,allowed);
- }
-
- }
-
-
-
- private Collection<String> getAllowedApps(){
- @SuppressWarnings("deprecation") SharedPreferences prefs = getPreferences(MODE_WORLD_READABLE);
- HashSet<String> defaultapps = new HashSet<String>();
- defaultapps.add("de.blinkt.openvpn");
- return prefs.getStringSet(ALLOWED_APPS,defaultapps );
- }
-
- private void saveAllowedApps(Set<String> allowedApps)
- {
- @SuppressWarnings("deprecation") SharedPreferences prefs = getPreferences(MODE_WORLD_READABLE);
- SharedPreferences.Editor prefeditor = prefs.edit();
- prefeditor.putStringSet(ALLOWED_APPS,allowedApps);
- prefeditor.putInt("random",new Random().nextInt());
- prefeditor.apply();
- }
-
-
- @Override
- protected void onStop() {
- super.onStop();
-
- HashSet<String> allowedPkgs= new HashSet<String>();
- for(int i=0;i < getListView().getChildCount();i++) {
- if(getListView().getCheckedItemPositions().get(i)) {
- allowedPkgs.add(((VpnApp)getListView().getItemAtPosition(i)).mPkg);
- }
- }
- saveAllowedApps(allowedPkgs);
- }
-
- private Collection<VpnApp> getVpnAppList() {
- PackageManager pm = getPackageManager();
- Intent vpnOpen = new Intent();
- vpnOpen.setAction("android.net.VpnService");
- Vector<VpnApp> vpnApps = new Vector<VpnApp>();
-
- // Hack but should work
- for(PackageInfo pkg : pm.getInstalledPackages(PackageManager.GET_SERVICES)) {
- if (pkg.services != null) {
- for(ServiceInfo serviceInfo:pkg.services) {
- if(Manifest.permission.BIND_VPN_SERVICE.equals(serviceInfo.permission))
- vpnApps.add(new VpnApp(pkg.applicationInfo.loadLabel(pm), pkg.packageName));
- }
- }
- }
-
-
- /* public abstract List<ResolveInfo> queryIntentServicesAsUser(Intent intent,
- int flags, int userId);
- */
-
- /* This does not work ... */
- /*
- Class<?>[] queryIntentServicesAsUserSignature = {Intent.class, int.class, int.class};
- try {
- Method queryIntentServicesAsUser = pm.getClass().getMethod("queryIntentServicesAsUser", queryIntentServicesAsUserSignature);
-
- List<ApplicationInfo> installedApps = pm.getInstalledApplications(0);
-
-
-
- for (ApplicationInfo app : installedApps) {
-
- List<ResolveInfo> apps;
- if (app.packageName.equals(getPackageName())) {
- apps = pm.queryIntentServices(vpnOpen, 0);
- } else {
- apps = (List<ResolveInfo>) queryIntentServicesAsUser.invoke(pm, vpnOpen, 0, app.uid);
- }
-
-
-
- for (ResolveInfo ri : apps) {
- vpnApps.add(new VpnApp(ri.toString()));
- }
- }
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- */
-
- return vpnApps;
- }
-
- static class VpnApp {
-
- private final String mPkg;
- private CharSequence mName;
-
- public VpnApp(CharSequence name, String pkg) {
- mName = name;
- mPkg = pkg;
- }
-
- @Override
- public String toString() {
- return mName.toString();
- }
- }
-}
diff --git a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/IConnectivityManager.java b/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/IConnectivityManager.java
deleted file mode 100644
index a8a02347..00000000
--- a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/IConnectivityManager.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2012-2016 Arne Schwabe
- * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- */
-
-/*
- * This file is auto-generated. DO NOT MODIFY.
- * Original file: /Users/arne/software/icsopenvpn/vpndialogxposed/src/main/aidl/android/net/IConnectivityManager.aidl
- */
-package de.blinkt.vpndialogxposed;
-/**
- * Interface that answers queries about, and allows changing, the
- * state of network connectivity.
- */
-
-/**
- * {@hide}
- */
-public interface IConnectivityManager extends android.os.IInterface {
- public boolean prepareVpn(java.lang.String oldPackage, java.lang.String newPackage) throws android.os.RemoteException;
-
- /** Local-side IPC implementation stub class. */
- public static abstract class Stub extends android.os.Binder implements IConnectivityManager {
- static final int TRANSACTION_prepareVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
- private static final java.lang.String DESCRIPTOR = "android.net.IConnectivityManager";
-
- /** Construct the stub at attach it to the interface. */
- public Stub() {
- this.attachInterface(this, DESCRIPTOR);
- }
-
- /**
- * Cast an IBinder object into an android.net.IConnectivityManager interface,
- * generating a proxy if needed.
- */
- public static IConnectivityManager asInterface(android.os.IBinder obj) {
- if ((obj == null)) {
- return null;
- }
- android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
- if (((iin != null) && (iin instanceof IConnectivityManager))) {
- return ((IConnectivityManager) iin);
- }
- return new IConnectivityManager.Stub.Proxy(obj);
- }
-
- @Override
- public android.os.IBinder asBinder() {
- return this;
- }
-
- @Override
- public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException {
- switch (code) {
- case INTERFACE_TRANSACTION: {
- reply.writeString(DESCRIPTOR);
- return true;
- }
- case TRANSACTION_prepareVpn: {
- data.enforceInterface(DESCRIPTOR);
- java.lang.String _arg0;
- _arg0 = data.readString();
- java.lang.String _arg1;
- _arg1 = data.readString();
- boolean _result = this.prepareVpn(_arg0, _arg1);
- reply.writeNoException();
- reply.writeInt(((_result) ? (1) : (0)));
- return true;
- }
- }
- return super.onTransact(code, data, reply, flags);
- }
-
- private static class Proxy implements IConnectivityManager {
- private android.os.IBinder mRemote;
-
- Proxy(android.os.IBinder remote) {
- mRemote = remote;
- }
-
- @Override
- public android.os.IBinder asBinder() {
- return mRemote;
- }
-
- public java.lang.String getInterfaceDescriptor() {
- return DESCRIPTOR;
- }
-
- @Override
- public boolean prepareVpn(java.lang.String oldPackage, java.lang.String newPackage) throws android.os.RemoteException {
- android.os.Parcel _data = android.os.Parcel.obtain();
- android.os.Parcel _reply = android.os.Parcel.obtain();
- boolean _result;
- try {
- _data.writeInterfaceToken(DESCRIPTOR);
- _data.writeString(oldPackage);
- _data.writeString(newPackage);
- mRemote.transact(Stub.TRANSACTION_prepareVpn, _data, _reply, 0);
- _reply.readException();
- _result = (0 != _reply.readInt());
- } finally {
- _reply.recycle();
- _data.recycle();
- }
- return _result;
- }
- }
- }
-}
diff --git a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/VpnDialogPatcher.java b/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/VpnDialogPatcher.java
deleted file mode 100644
index f517c2f9..00000000
--- a/vpndialogxposed/src/main/java/de/blinkt/vpndialogxposed/VpnDialogPatcher.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2012-2016 Arne Schwabe
- * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- */
-
-package de.blinkt.vpndialogxposed;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.IBinder;
-import android.widget.Toast;
-import de.robv.android.xposed.IXposedHookLoadPackage;
-import de.robv.android.xposed.XC_MethodHook;
-import de.robv.android.xposed.XposedBridge;
-import de.robv.android.xposed.XposedHelpers;
-import de.robv.android.xposed.XSharedPreferences;
-import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
-import de.robv.android.xposed.IXposedHookZygoteInit;
-
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-
-public class VpnDialogPatcher implements IXposedHookLoadPackage, IXposedHookZygoteInit {
- public static final String MY_PACKAGE_NAME = AllowedVPNsChooser.class.getPackage().getName();
- private static XSharedPreferences pref;
-
-
- @Override
- public void initZygote(StartupParam startupParam) throws Throwable {
- pref = new XSharedPreferences(MY_PACKAGE_NAME, "AllowedVPNsChooser");
-
- }
-
- @Override
- public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
- if (!lpparam.packageName.equals("com.android.vpndialogs"))
- return;
-
-
- XposedBridge.log("Got VPN Dialog");
-
- XposedHelpers.findAndHookMethod("com.android.vpndialogs.ConfirmDialog", lpparam.classLoader,
- "onResume", new XC_MethodHook() {
- @Override
- protected void afterHookedMethod(MethodHookParam param) throws Throwable {
-
- // IConnectivityManager mService = IConnectivityManager.Stub.asInterface(
- // ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
-
- try {
-
- /*Class servicemanager = Class.forName("android.os.ServiceManager");
- Method getService = servicemanager.getMethod("getService",String.class);
-
- IConnectivityManager mService = IConnectivityManager.Stub.asInterface(
- (IBinder) getService.invoke(servicemanager, Context.CONNECTIVITY_SERVICE));
-
- */
- Object mService = XposedHelpers.getObjectField(param.thisObject, "mService");
-
- String mPackage = ((Activity) param.thisObject).getCallingPackage();
-
- // App is already allowed do nothing
- /*if (mService.prepareVpn(mPackage, null)) {
- return;
- }*/
-
-
- Class<?>[] prepareVPNsignature = {String.class, String.class};
- if((Boolean) XposedHelpers.callMethod(mService,"prepareVpn",prepareVPNsignature, mPackage,(String)null))
- return;
-
-
- HashSet<String> blinktapp = new HashSet<String>();
- blinktapp.add("de.blinkt.openvpn");
- // blinktapp.add("de.blinkt.nothingset");
-
- pref.reload();
- Set<String> allowedApps = pref.getStringSet("allowedApps",blinktapp);
-
- //Toast.makeText((Context)param.thisObject, "Allowed apps: " + allowedApps, Toast.LENGTH_LONG).show();
-
- if (allowedApps.contains(mPackage)) {
- //mService.prepareVpn(null, mPackage);
- XposedHelpers.callMethod(mService,"prepareVpn",prepareVPNsignature, (String)null,mPackage);
- ((Activity) param.thisObject).setResult(Activity.RESULT_OK);
- Toast.makeText((Context)param.thisObject,"Allowed VpnService app: " + mPackage,Toast.LENGTH_LONG).show();
- ((Activity) param.thisObject).finish();
- }
-
- } catch (Exception e) {
- e.printStackTrace();
-
- }
-
- }
-
-
- });
-
- }
-}
diff --git a/vpndialogxposed/src/main/res/drawable-hdpi/ic_launcher.png b/vpndialogxposed/src/main/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644
index a134d5fa..00000000
--- a/vpndialogxposed/src/main/res/drawable-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/vpndialogxposed/src/main/res/drawable-mdpi/ic_launcher.png b/vpndialogxposed/src/main/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644
index ad6d2155..00000000
--- a/vpndialogxposed/src/main/res/drawable-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/vpndialogxposed/src/main/res/drawable-xhdpi/ic_launcher.png b/vpndialogxposed/src/main/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644
index 10d3c009..00000000
--- a/vpndialogxposed/src/main/res/drawable-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/vpndialogxposed/src/main/res/drawable-xxhdpi/ic_launcher.png b/vpndialogxposed/src/main/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644
index 22db1531..00000000
--- a/vpndialogxposed/src/main/res/drawable-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/vpndialogxposed/src/main/res/layout/vpnapplayout.xml b/vpndialogxposed/src/main/res/layout/vpnapplayout.xml
deleted file mode 100644
index 67ae7a12..00000000
--- a/vpndialogxposed/src/main/res/layout/vpnapplayout.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (c) 2012-2016 Arne Schwabe
- ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- >
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="@string/select_apps"/>
-
-
- <ListView
- android:id="@android:id/list"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent" />
-
- <LinearLayout
- android:id="@android:id/empty"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center"
- android:orientation="vertical" >
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/no_apps_found"
- android:textAppearance="?android:attr/textAppearanceMedium" />
- </LinearLayout>
-
-</LinearLayout> \ No newline at end of file
diff --git a/vpndialogxposed/src/main/res/values/strings.xml b/vpndialogxposed/src/main/res/values/strings.xml
deleted file mode 100644
index ded7e609..00000000
--- a/vpndialogxposed/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (c) 2012-2016 Arne Schwabe
- ~ Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt
- -->
-
-<resources>
-
- <string name="app_name">VpnDialog Xposed Module</string>
- <string name="select_apps">Select the apps that should be allowed to use the VpnService API without user confirmation</string>
- <string name="no_apps_found">No Apps using the VPNService API found</string>
-
-</resources>