mirror of
https://gitee.com/houstudio/Cdroid.git
synced 2024-11-30 03:08:12 +08:00
fix package find issues
This commit is contained in:
parent
751c76c7d3
commit
ac24024c4b
@ -13,6 +13,7 @@ set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR})
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules)
|
||||
set(CMAKE_INSTALL_DATAROOTDIR ${CMAKE_BINARY_DIR}/data)
|
||||
set(CMAKE_INSTALL_DATADIR ${CMAKE_BINARY_DIR}/data CACHE PATH "General install location")
|
||||
set(CMAKE_INSTALL_LIBDIR ${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
if (EXISTS "${CMAKE_SOURCE_DIR}/src/gui/widget/view.h" )
|
||||
set(DEPS_DIR ${CMAKE_BINARY_DIR})
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(CDROID_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/gui)
|
||||
set(CDROID_INCLUDE_DIR$ ${CDROID_INCLUDE_DIR})
|
||||
set(CDROID_LIBRARY gui)
|
||||
set(CDROID_LIBRARIES ${CDROID_LIBRARY})
|
||||
set(CDROID_FOUND TRUE)
|
||||
message("=====CDROID_LIBRARIES=${CDROID_LIBRARIES}")
|
||||
|
@ -1,4 +1,5 @@
|
||||
set(EXPAT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include)
|
||||
set(EXPAT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include)
|
||||
set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
|
||||
set(EXPAT_LIBRARY expat)
|
||||
set(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
|
||||
set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(FONTCONFIG_INCLUDE_DIR ${fontconfig_SOURCE_DIR}/src)
|
||||
set(FONTCONFIG_INCLUDE_DIR ${fontconfig_SOURCE_DIR})
|
||||
set(FONTCONFIG_INCLUDE_DIRS ${FONTCONFIG_INCLUDE_DIR})
|
||||
set(FONTCONFIG_LIBRARY fontconfig)
|
||||
set(FONTCONFIG_LIBRARIES ${FONTCONFIG_LIBRARY})
|
||||
set(FONTCONFIG_FOUND TRUE)
|
||||
message("=====FONTCONFIG_LIBRARIES=${FONTCONFIG_LIBRARIES}")
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(FREETYPE_INCLUDE_DIR ${freetype_SOURCE_DIR}/include)
|
||||
|
||||
set(FREETYPE_INCLUDE_DIR ${freetype_SOURCE_DIR}/include)
|
||||
set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
|
||||
set(FREETYPE_LIBRARY freetype)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR})
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(HARFBUZZ_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/harfbuzz)
|
||||
set(HARFBUZZ_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/harfbuzz)
|
||||
set(HARFBUZZ_INCLUDE_DIRS ${HARFBUZZ_INCLUDE_DIR})
|
||||
set(HARFBUZZ_LIBRARY harfbuzz)
|
||||
set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
|
||||
set(HarfBuzz_FOUND TRUE)
|
||||
message("====find HARFBUZZ_LIBRARIES=${HARFBUZZ_LIBRARIES}")
|
||||
|
@ -1,4 +1,5 @@
|
||||
set(LZO_INCLUDE_DIR ${lzo_SOURCE_DIR}/include/lzo)
|
||||
set(LZO_INCLUDE_DIR ${lzo_SOURCE_DIR}/include/lzo)
|
||||
set(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR})
|
||||
set(LZO_LIBRARY lzo)
|
||||
set(LZO_LIBRARIES ${LZO_LIBRARY})
|
||||
set(LZO_FOUND TRUE)
|
||||
|
@ -1,7 +1,7 @@
|
||||
set(PLPLOT_INCLUDE_DIR ${plplot_SOURCE_DIR}/include
|
||||
set(PLPLOT_INCLUDE_DIR ${plplot_SOURCE_DIR}/include
|
||||
${plplot_SOURCE_DIR}/bindings/c++
|
||||
${plplot_BINARY_DIR}/include)
|
||||
|
||||
set(PLPLOT_INCLUDE_DIRS ${PLPLOT_INCLUDE_DIR})
|
||||
set(PLPLOT_LIBRARY plplot plplotcxx)
|
||||
set(PLPLOT_LIBRARIES ${PLPLOT_LIBRARY})
|
||||
set(PLPLOT_INCLUDE_DIRS ${PLPLOT_INCLUDE_DIR})
|
||||
|
@ -1,4 +1,5 @@
|
||||
set(PNG_INCLUDE_DIR ${libpng_SOURCE_DIR} ${libpng_BINARY_DIR})
|
||||
set(PNG_INCLUDE_DIR ${libpng_SOURCE_DIR} ${libpng_BINARY_DIR})
|
||||
set(PNG_INCLUDE_DIRS ${PNG_INCLUDE_DIR})
|
||||
set(PNG_LIBRARY png)
|
||||
set(PNG_LIBRARIES ${PNG_LIBRARY})
|
||||
set(PNG_FOUND TRUE)
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(PIXMAN_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/pixman)
|
||||
set(PIXMAN_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include/pixman)
|
||||
set(PIXMAN_INCLUDE_DIRS ${PIXMAN_INCLUDE_DIR})
|
||||
set(PIXMAN_LIBRARY pixman-1)
|
||||
set(PIXMAN_LIBRARIES ${PIXMAN_LIBRARY})
|
||||
set(PIXMAN_FOUND TRUE)
|
||||
message("=====PIXMAN_LIBRARIES=${PIXMAN_LIBRARIES}")
|
||||
|
@ -1,5 +1,5 @@
|
||||
set(SHAPELIB_INCLUDE_DIR ${shapelib_SOURCE_DIR})
|
||||
|
||||
set(SHAPELIB_INCLUDE_DIR ${shapelib_SOURCE_DIR})
|
||||
set(SHAPELIB_INCLUDE_DIRS ${SHAPELIB_INCLUDE_DIR})
|
||||
set(SHAPELIB_LIBRARY shp)
|
||||
set(SHAPELIB_LIBRARIES ${SHAPELIB_LIBRARY})
|
||||
set(SHAPELIB_INCLUDE_DIRS ${SHAPELIB_INCLUDE_DIR})
|
||||
|
@ -1,4 +1,5 @@
|
||||
set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
|
||||
set(ZLIB_INCLUDE_DIR ${zlib_SOURCE_DIR} ${zlib_BINARY_DIR})
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARY zlib)
|
||||
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
set(ZLIB_FOUND TRUE)
|
||||
|
@ -31,6 +31,7 @@ if( MINIMAL_SIZE_OPTIMIZED )
|
||||
set(ENABLE_UPNP OFF)
|
||||
set(ENABLE_MP3ID3 OFF)
|
||||
set(ENABLE_PINYIN2HZ OFF)
|
||||
set(ENABLE_PLPLOT OFF)
|
||||
endif( MINIMAL_SIZE_OPTIMIZED )
|
||||
|
||||
if(ENABLE_GIF)
|
||||
|
17
src/3rdparty/CMakeLists.txt
vendored
17
src/3rdparty/CMakeLists.txt
vendored
@ -1,8 +1,16 @@
|
||||
add_subdirectory(zlib-1.2.11)
|
||||
add_subdirectory(freetype-2.11.0)
|
||||
add_subdirectory(libpng)
|
||||
add_subdirectory(expat)
|
||||
add_subdirectory(freetype-2.11.0)
|
||||
add_subdirectory(libjpeg-turbo)
|
||||
add_subdirectory(pixman)
|
||||
add_subdirectory(fontconfig)
|
||||
|
||||
if(FT_WITH_HARFBUZZ)
|
||||
add_subdirectory(harfbuzz)
|
||||
add_subdirectory(graphite2-1.3.14)
|
||||
endif()
|
||||
|
||||
add_subdirectory(cairo-1.16.0)
|
||||
add_subdirectory(libunibreak)
|
||||
add_subdirectory(libiconv)
|
||||
@ -19,13 +27,11 @@ if (ENABLE_CAIROSVG)
|
||||
endif()
|
||||
|
||||
add_subdirectory(gtest)
|
||||
add_subdirectory(expat)
|
||||
add_subdirectory(jsoncpp)
|
||||
add_subdirectory(id3)
|
||||
add_subdirectory(libgif)
|
||||
add_subdirectory(libzip)
|
||||
add_subdirectory(uuid)
|
||||
add_subdirectory(fontconfig)
|
||||
add_subdirectory(fribidi)
|
||||
add_subdirectory(pinyin)
|
||||
|
||||
@ -40,11 +46,6 @@ endif(ENABLE_GESTURE)
|
||||
|
||||
add_subdirectory(mbedtls)
|
||||
|
||||
if(FT_WITH_HARFBUZZ)
|
||||
add_subdirectory(harfbuzz)
|
||||
add_subdirectory(graphite2-1.3.14)
|
||||
endif()
|
||||
|
||||
add_subdirectory(libvncserver)
|
||||
add_subdirectory(xLua/build)
|
||||
|
||||
|
1
src/3rdparty/cairo-1.16.0/CMakeLists.txt
vendored
1
src/3rdparty/cairo-1.16.0/CMakeLists.txt
vendored
@ -25,6 +25,7 @@ list(APPEND CAIRO_LIBS ${PIXMAN_LIBRARY} ${PNG_LIBRARY} ${ZLIB_LIBRARY})
|
||||
|
||||
if(FONTCONFIG_FOUND)
|
||||
list(APPEND CAIRO_LIBS ${FONTCONFIG_LIBRARY})
|
||||
include_directories(${FONTCONFIG_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(FREETYPE_FOUND)
|
||||
|
2
src/3rdparty/fontconfig/src/CMakeLists.txt
vendored
2
src/3rdparty/fontconfig/src/CMakeLists.txt
vendored
@ -42,7 +42,7 @@ set( fontconfig_SRCS
|
||||
fcserialize.c
|
||||
fcstat.c
|
||||
fcstr.c
|
||||
fcweight
|
||||
fcweight.c
|
||||
fcxml.c
|
||||
ftglue.c
|
||||
fcptrlist.c
|
||||
|
140
src/3rdparty/fribidi/lib/fribidi-mem.c
vendored
140
src/3rdparty/fribidi/lib/fribidi-mem.c
vendored
@ -1,140 +0,0 @@
|
||||
/* FriBidi
|
||||
* fribidi-mem.c - memory manipulation routines
|
||||
*
|
||||
* $Id: fribidi-mem.c,v 1.8 2006-01-31 03:23:13 behdad Exp $
|
||||
* $Author: behdad $
|
||||
* $Date: 2006-01-31 03:23:13 $
|
||||
* $Revision: 1.8 $
|
||||
* $Source: /home/behdad/src/fdo/fribidi/togit/git/../fribidi/fribidi2/lib/fribidi-mem.c,v $
|
||||
*
|
||||
* Authors:
|
||||
* Behdad Esfahbod, 2001, 2002, 2004
|
||||
*
|
||||
* Copyright (C) 2004 Sharif FarsiWeb, Inc
|
||||
* Copyright (C) 2001,2002 Behdad Esfahbod
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this library, in a file named COPYING; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA
|
||||
*
|
||||
* For licensing issues, contact <license@farsiweb.info>.
|
||||
*/
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include "mem.h"
|
||||
|
||||
#if FRIBIDI_USE_GLIB+0
|
||||
#else
|
||||
#if USE_SIMPLE_MALLOC+0
|
||||
#else
|
||||
|
||||
struct _FriBidiMemChunk
|
||||
{
|
||||
int atom_size;
|
||||
int area_size;
|
||||
int empty_size;
|
||||
void *chunk;
|
||||
};
|
||||
|
||||
FriBidiMemChunk *
|
||||
fribidi_mem_chunk_new (
|
||||
/* input */
|
||||
const char *name,
|
||||
int atom_size,
|
||||
unsigned long area_size,
|
||||
int alloc_type
|
||||
)
|
||||
{
|
||||
register FriBidiMemChunk *m;
|
||||
|
||||
fribidi_assert (area_size >= atom_size * 8);
|
||||
|
||||
m = (FriBidiMemChunk *) fribidi_malloc (sizeof (FriBidiMemChunk));
|
||||
if LIKELY
|
||||
(m)
|
||||
{
|
||||
m->atom_size = atom_size;
|
||||
m->area_size = area_size;
|
||||
m->empty_size = 0;
|
||||
m->chunk = NULL;
|
||||
}
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
void *
|
||||
fribidi_mem_chunk_alloc (
|
||||
/* input */
|
||||
FriBidiMemChunk *mem_chunk
|
||||
)
|
||||
{
|
||||
fribidi_assert (mem_chunk);
|
||||
|
||||
if UNLIKELY
|
||||
(mem_chunk->empty_size < mem_chunk->atom_size)
|
||||
{
|
||||
register void *chunk = fribidi_malloc (mem_chunk->area_size);
|
||||
if LIKELY
|
||||
(chunk)
|
||||
{
|
||||
if (mem_chunk->chunk)
|
||||
*(void **) chunk =
|
||||
(char *) mem_chunk->chunk + mem_chunk->empty_size -
|
||||
mem_chunk->area_size;
|
||||
chunk = (char *) chunk + mem_chunk->atom_size;
|
||||
mem_chunk->chunk = chunk;
|
||||
mem_chunk->empty_size = mem_chunk->area_size - mem_chunk->atom_size;
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
{
|
||||
register void *m = mem_chunk->chunk;
|
||||
mem_chunk->chunk = (char *) mem_chunk->chunk + mem_chunk->atom_size;
|
||||
mem_chunk->empty_size -= mem_chunk->atom_size;
|
||||
|
||||
return m;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fribidi_mem_chunk_destroy (
|
||||
/* input */
|
||||
FriBidiMemChunk *mem_chunk
|
||||
)
|
||||
{
|
||||
register void *chunk;
|
||||
|
||||
fribidi_assert (mem_chunk);
|
||||
|
||||
chunk =
|
||||
(char *) mem_chunk->chunk + mem_chunk->empty_size - mem_chunk->area_size;
|
||||
while LIKELY
|
||||
(chunk)
|
||||
{
|
||||
register void *tofree = chunk;
|
||||
chunk = *(void **) chunk;
|
||||
fribidi_free (tofree);
|
||||
}
|
||||
fribidi_free (mem_chunk);
|
||||
}
|
||||
|
||||
#endif /* !USE_SIMPLE_MALLOC */
|
||||
#endif /* !FRIBIDI_USE_GLIB */
|
||||
|
||||
/* Editor directions:
|
||||
* vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
|
||||
*/
|
97
src/3rdparty/fribidi/lib/mem.h
vendored
97
src/3rdparty/fribidi/lib/mem.h
vendored
@ -1,97 +0,0 @@
|
||||
/* FriBidi
|
||||
* mem.h - memory manipulation routines
|
||||
*
|
||||
* $Id: mem.h,v 1.7 2006-01-31 03:23:13 behdad Exp $
|
||||
* $Author: behdad $
|
||||
* $Date: 2006-01-31 03:23:13 $
|
||||
* $Revision: 1.7 $
|
||||
* $Source: /home/behdad/src/fdo/fribidi/togit/git/../fribidi/fribidi2/lib/mem.h,v $
|
||||
*
|
||||
* Author:
|
||||
* Behdad Esfahbod, 2001, 2002, 2004
|
||||
*
|
||||
* Copyright (C) 2004 Sharif FarsiWeb, Inc
|
||||
* Copyright (C) 2001,2002 Behdad Esfahbod
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this library, in a file named COPYING; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301, USA
|
||||
*
|
||||
* For licensing issues, contact <license@farsiweb.info>.
|
||||
*/
|
||||
#ifndef _MEM_H
|
||||
#define _MEM_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#include <fribidi-types.h>
|
||||
|
||||
#include <fribidi-begindecls.h>
|
||||
|
||||
#if FRIBIDI_USE_GLIB+0
|
||||
|
||||
#ifndef __FRIBIDI_DOC
|
||||
# include <glib.h>
|
||||
#endif /* !__FRIBIDI_DOC */
|
||||
|
||||
#define FriBidiMemChunk GMemChunk
|
||||
#define FRIBIDI_ALLOC_ONLY G_ALLOC_ONLY
|
||||
#define fribidi_mem_chunk_new g_mem_chunk_new
|
||||
#define fribidi_mem_chunk_alloc g_mem_chunk_alloc
|
||||
#define fribidi_mem_chunk_destroy g_mem_chunk_destroy
|
||||
|
||||
#else /* !FRIBIDI_USE_GLIB */
|
||||
|
||||
typedef struct _FriBidiMemChunk FriBidiMemChunk;
|
||||
|
||||
#define FRIBIDI_ALLOC_ONLY 1
|
||||
|
||||
#define fribidi_mem_chunk_new FRIBIDI_PRIVATESPACE(mem_chunk_new)
|
||||
FriBidiMemChunk *
|
||||
fribidi_mem_chunk_new (
|
||||
const char *name,
|
||||
int atom_size,
|
||||
unsigned long area_size,
|
||||
int alloc_type
|
||||
)
|
||||
FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
|
||||
|
||||
#define fribidi_mem_chunk_alloc FRIBIDI_PRIVATESPACE(mem_chunk_alloc)
|
||||
void *fribidi_mem_chunk_alloc (
|
||||
FriBidiMemChunk *mem_chunk
|
||||
)
|
||||
FRIBIDI_GNUC_HIDDEN FRIBIDI_GNUC_MALLOC FRIBIDI_GNUC_WARN_UNUSED;
|
||||
|
||||
#define fribidi_mem_chunk_destroy FRIBIDI_PRIVATESPACE(mem_chunk_destroy)
|
||||
void fribidi_mem_chunk_destroy (
|
||||
FriBidiMemChunk *mem_chunk
|
||||
) FRIBIDI_GNUC_HIDDEN;
|
||||
|
||||
#endif /* !FRIBIDI_USE_GLIB */
|
||||
|
||||
#define fribidi_chunk_new(type, chunk) ( \
|
||||
(type *) fribidi_mem_chunk_alloc (chunk) \
|
||||
)
|
||||
|
||||
#define fribidi_chunk_new_for_type(type) ( \
|
||||
fribidi_mem_chunk_new(FRIBIDI, sizeof (type), \
|
||||
FRIBIDI_CHUNK_SIZE, FRIBIDI_ALLOC_ONLY) \
|
||||
)
|
||||
|
||||
#include <fribidi-enddecls.h>
|
||||
|
||||
#endif /* !_MEM_H */
|
||||
/* Editor directions:
|
||||
* vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
|
||||
*/
|
7997
src/3rdparty/fribidi/m4/libtool.m4
vendored
Executable file
7997
src/3rdparty/fribidi/m4/libtool.m4
vendored
Executable file
File diff suppressed because it is too large
Load Diff
384
src/3rdparty/fribidi/m4/ltoptions.m4
vendored
Executable file
384
src/3rdparty/fribidi/m4/ltoptions.m4
vendored
Executable file
@ -0,0 +1,384 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 7 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [1], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[lt_p=${PACKAGE-default}
|
||||
case $withval in
|
||||
yes|no) pic_mode=$withval ;;
|
||||
*)
|
||||
pic_mode=default
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for lt_pkg in $withval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$lt_pkg" = "X$lt_p"; then
|
||||
pic_mode=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[pic_mode=default])
|
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
123
src/3rdparty/fribidi/m4/ltsugar.m4
vendored
Executable file
123
src/3rdparty/fribidi/m4/ltsugar.m4
vendored
Executable file
@ -0,0 +1,123 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
23
src/3rdparty/fribidi/m4/ltversion.m4
vendored
Executable file
23
src/3rdparty/fribidi/m4/ltversion.m4
vendored
Executable file
@ -0,0 +1,23 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# @configure_input@
|
||||
|
||||
# serial 3337 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.2])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3337])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.2'
|
||||
macro_revision='1.3337'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
98
src/3rdparty/fribidi/m4/lt~obsolete.m4
vendored
Executable file
98
src/3rdparty/fribidi/m4/lt~obsolete.m4
vendored
Executable file
@ -0,0 +1,98 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 5 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
|
||||
m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
|
||||
m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
|
||||
m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
|
||||
m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
|
||||
m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
|
2
src/3rdparty/libpng/CMakeLists.txt
vendored
2
src/3rdparty/libpng/CMakeLists.txt
vendored
@ -23,7 +23,7 @@ cmake_policy(VERSION 3.1)
|
||||
|
||||
project(libpng C ASM)
|
||||
enable_testing()
|
||||
set(SKIP_INSTALL_ALL ON)
|
||||
set(SKIP_INSTALL_ALL OFF)
|
||||
set(PNGLIB_MAJOR 1)
|
||||
set(PNGLIB_MINOR 6)
|
||||
set(PNGLIB_RELEASE 37)
|
||||
|
@ -12,6 +12,7 @@ aux_source_directory(drawables SRCS_DRAWABLES)
|
||||
aux_source_directory(cairomm SRCS_CAIROMM)
|
||||
#aux_source_directory(app SRCS_APP)
|
||||
aux_source_directory(animation SRCS_ANIMATION)
|
||||
find_package(PNG)
|
||||
find_package(Freetype)
|
||||
find_package(EXPAT)
|
||||
find_package(PLPLOT)
|
||||
@ -24,7 +25,7 @@ include_directories(
|
||||
./cairomm
|
||||
./core/svg ./luabinding
|
||||
${CMAKE_BINARY_DIR}/include
|
||||
${FREETYPE_INCLUDE_DIR} ${PLPLOT_INCLUDE_DIR}
|
||||
${PNG_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIR} ${PLPLOT_INCLUDE_DIR}
|
||||
${CMAKE_BINARY_DIR}/include/pixman
|
||||
${CMAKE_BINARY_DIR}/include/cairo
|
||||
${CMAKE_BINARY_DIR}/include/porting
|
||||
|
@ -1,6 +1,7 @@
|
||||
#include <core/path.h>
|
||||
#include <cairomm/surface.h>
|
||||
#include <cairomm/context.h>
|
||||
#include <map>
|
||||
namespace cdroid{
|
||||
|
||||
Path::Path(){
|
||||
@ -94,4 +95,156 @@ void Path::round_rectangle(const RectF&rect,const std::vector<float>& radii){
|
||||
mCTX->close_path();//closeSubpath();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
typedef PointF (*BezierCalculation)(float t, const PointF* points);
|
||||
static void addMove(std::vector<PointF>&segmentPoints,std::vector<float>&lengths,PointF&toPoint){
|
||||
const float length=lengths.size()?lengths.back():.0f;
|
||||
segmentPoints.push_back(toPoint);
|
||||
lengths.push_back(length);
|
||||
}
|
||||
|
||||
static void addLine(std::vector<PointF>&segmentPoints,std::vector<float>&lengths,PointF&toPoint){
|
||||
if(segmentPoints.size()==0)
|
||||
segmentPoints.push_back(PointF{0,0});
|
||||
|
||||
PointF& fpt=segmentPoints.back();
|
||||
const float dx=fpt.x-toPoint.x;
|
||||
const float dy=fpt.y-toPoint.y;
|
||||
|
||||
if(dx==.0&&dy==.0f) return ;
|
||||
float length=lengths.back()+sqrt(dx*dx+dy*dy);
|
||||
segmentPoints.push_back(toPoint);
|
||||
lengths.push_back(length);
|
||||
}
|
||||
|
||||
static float cubicCoordinateCalculation(float t, float p0, float p1, float p2, float p3) {
|
||||
float oneMinusT = 1 - t;
|
||||
float oneMinusTSquared = oneMinusT * oneMinusT;
|
||||
float oneMinusTCubed = oneMinusTSquared * oneMinusT;
|
||||
float tSquared = t * t;
|
||||
float tCubed = tSquared * t;
|
||||
return (oneMinusTCubed * p0) + (3 * oneMinusTSquared * t * p1)
|
||||
+ (3 * oneMinusT * tSquared * p2) + (tCubed * p3);
|
||||
}
|
||||
|
||||
static PointF cubicBezierCalculation(float t, const PointF* points) {
|
||||
PointF pt;
|
||||
pt.x = cubicCoordinateCalculation(t, points[0].x, points[1].x,
|
||||
points[2].x, points[3].x);
|
||||
pt.y = cubicCoordinateCalculation(t, points[0].y, points[1].y,
|
||||
points[2].y, points[3].y);
|
||||
return pt;
|
||||
}
|
||||
|
||||
static bool subdividePoints(const PointF* points, BezierCalculation bezierFunction,
|
||||
float t0, const PointF &p0, float t1, const PointF &p1,
|
||||
float& midT, PointF &midPoint, float errorSquared) {
|
||||
midT = (t1 + t0) / 2;
|
||||
float midX = (p1.x + p0.x) / 2;
|
||||
float midY = (p1.y + p0.y) / 2;
|
||||
midPoint = (*bezierFunction)(midT, points);
|
||||
float xError = midPoint.x - midX;
|
||||
float yError = midPoint.y - midY;
|
||||
float midErrorSquared = (xError * xError) + (yError * yError);
|
||||
return midErrorSquared > errorSquared;
|
||||
}
|
||||
static void addBezier(PointF*points,BezierCalculation bezierFunction,std::vector<PointF>&segmentPoints,
|
||||
std::vector<float>&lengths,float errorSquared,float doubleCheckDivision){
|
||||
typedef std::map<float,PointF>PointMap;
|
||||
PointMap tToPoint;
|
||||
tToPoint[0]=bezierFunction(0,points);
|
||||
tToPoint[1]=bezierFunction(1,points);
|
||||
PointMap::iterator iter=tToPoint.begin();
|
||||
PointMap::iterator next=iter;
|
||||
++next;
|
||||
while(next!=tToPoint.end()){
|
||||
bool needsSubdivision = true;
|
||||
PointF midPoint;
|
||||
do {
|
||||
float midT;
|
||||
needsSubdivision = subdividePoints(points, bezierFunction, iter->first,
|
||||
iter->second, next->first, next->second, midT, midPoint, errorSquared);
|
||||
if (!needsSubdivision && doubleCheckDivision) {
|
||||
PointF quarterPoint;
|
||||
float quarterT;
|
||||
needsSubdivision = subdividePoints(points, bezierFunction, iter->first,
|
||||
iter->second, midT, midPoint, quarterT, quarterPoint, errorSquared);
|
||||
if (needsSubdivision) {
|
||||
// Found an inflection point. No need to double-check.
|
||||
doubleCheckDivision = false;
|
||||
}
|
||||
}
|
||||
if (needsSubdivision) {
|
||||
next = tToPoint.insert(iter, PointMap::value_type(midT, midPoint));
|
||||
}
|
||||
} while (needsSubdivision);
|
||||
iter = next;
|
||||
next++;
|
||||
}
|
||||
|
||||
// Now that each division can use linear interpolation with less than the allowed error
|
||||
for (iter = tToPoint.begin(); iter != tToPoint.end(); ++iter) {
|
||||
addLine(segmentPoints, lengths, iter->second);
|
||||
}
|
||||
}
|
||||
|
||||
static void createVerbSegments(cairo_path_data_t*data,PointF*points,std::vector<PointF>&segmentPoints,
|
||||
std::vector<float>&lengths,float errorSquared,float errorConic){
|
||||
switch(data->header.type){
|
||||
case CAIRO_PATH_MOVE_TO: addMove(segmentPoints,lengths,points[0]);break;
|
||||
case CAIRO_PATH_LINE_TO: addLine(segmentPoints,lengths,points[1]);break;
|
||||
case CAIRO_PATH_CURVE_TO:
|
||||
addBezier(points,cubicBezierCalculation,segmentPoints,lengths,errorSquared,errorConic);
|
||||
break;
|
||||
case CAIRO_PATH_CLOSE_PATH:addLine(segmentPoints,lengths,points[0]);break;
|
||||
}
|
||||
}
|
||||
|
||||
void Path::approximate(std::vector<float>&,float acceptableError){
|
||||
PointF points[4];
|
||||
std::vector<PointF>segmentPoints;
|
||||
std::vector<float>lengths;
|
||||
float errorSquared=acceptableError*acceptableError;
|
||||
float errorConic =acceptableError/2.f;
|
||||
cairo_path_t*path=cairo_copy_path(mCTX->cobj());
|
||||
for (int i=0; i < path->num_data; i += path->data[i].header.length){
|
||||
cairo_path_data_t *data=path->data+i;
|
||||
createVerbSegments(data,points,segmentPoints,lengths,errorSquared,errorConic);
|
||||
}
|
||||
cairo_path_destroy(path);
|
||||
|
||||
if (segmentPoints.empty()) {
|
||||
int numVerbs = path->num_data;//path->countVerbs();
|
||||
PointF pt={0,0};
|
||||
if (numVerbs == 1) {
|
||||
pt.x=path->data[1].point.x;
|
||||
pt.y=path->data[1].point.y;
|
||||
addMove(segmentPoints, lengths, pt);//path->getPoint(0));
|
||||
} else {
|
||||
// Invalid or empty path. Fall back to point(0,0)
|
||||
addMove(segmentPoints, lengths, pt);
|
||||
}
|
||||
}
|
||||
|
||||
float totalLength = lengths.back();
|
||||
if (totalLength == 0) {
|
||||
// Lone Move instructions should still be able to animate at the same value.
|
||||
segmentPoints.push_back(segmentPoints.back());
|
||||
lengths.push_back(1);
|
||||
totalLength = 1;
|
||||
}
|
||||
|
||||
size_t numPoints = segmentPoints.size();
|
||||
size_t approximationArraySize = numPoints * 3;
|
||||
|
||||
float* approximation = new float[approximationArraySize];
|
||||
int approximationIndex = 0;
|
||||
for (size_t i = 0; i < numPoints; i++) {
|
||||
const PointF& point = segmentPoints[i];
|
||||
approximation[approximationIndex++] = lengths[i] / totalLength;
|
||||
approximation[approximationIndex++] = point.x;
|
||||
approximation[approximationIndex++] = point.y;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ namespace cdroid{
|
||||
class Path{
|
||||
private:
|
||||
Cairo::RefPtr<Cairo::Context>mCTX;
|
||||
|
||||
public:
|
||||
Path();
|
||||
Path(const Path&);
|
||||
@ -24,6 +25,7 @@ public:
|
||||
void reset();
|
||||
void begin_new_sub_path();
|
||||
void close_path();
|
||||
void approximate(std::vector<float>&,float acceptableError);
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
@ -56,6 +56,7 @@ DWORD GFXInit(){
|
||||
LOGI("fb solution=%dx%d accel_flags=0x%x\r\n",dev.var.xres,dev.var.yres,dev.var.accel_flags);
|
||||
#ifdef HAVE_FY_TDE2
|
||||
LOGI("FY_TDE2_Open=%d",FY_TDE2_Open());
|
||||
VO_Enable();
|
||||
#endif
|
||||
#if ENABLE_RFB
|
||||
rfbScreenInfoPtr rfbScreen = rfbGetScreen(NULL,NULL,800,600,8,3,3);
|
||||
@ -132,6 +133,8 @@ DWORD GFXFlip(HANDLE surface){
|
||||
ioctl(dev.fb, FBIO_WAITFORVSYNC, 0);
|
||||
int ret=ioctl(dev.fb, FBIOPAN_DISPLAY, &dev.var);
|
||||
LOGD_IF(ret<0,"FBIOPAN_DISPLAY=%d yoffset=%d",ret,dev.var.yoffset);
|
||||
dev.var.yoffset=0;
|
||||
ret=ioctl(dev.fb,FBIOPUT_VSCREENINFO,&dev.var);
|
||||
#if ENABLE_RFB
|
||||
rfbMarkRectAsModified(dev.rfbScreen,0,0,surf->width,surf->height);
|
||||
#endif
|
||||
@ -202,7 +205,7 @@ DWORD GFXCreateSurface(HANDLE*surface,UINT width,UINT height,INT format,BOOL hws
|
||||
if(hwsurface){
|
||||
size_t mem_len=((dev.fix.smem_start) -((dev.fix.smem_start) & ~(getpagesize() - 1)));
|
||||
setfbinfo(surf);
|
||||
surf->buffer=mmap( NULL,mem_len,PROT_READ | PROT_WRITE, MAP_SHARED,dev.fb, 0 );
|
||||
surf->buffer=mmap( NULL,dev.fix.smem_len,PROT_READ | PROT_WRITE, MAP_SHARED,dev.fb, 0 );
|
||||
dev.rfbScreen->frameBuffer = surf->buffer;
|
||||
surf->pitch=dev.fix.line_length;
|
||||
ResetScreenFormat(surf,width,height,format);
|
||||
|
@ -195,7 +195,7 @@ DWORD GFXCreateSurface(HANDLE*surface,UINT width,UINT height,INT format,BOOL hws
|
||||
if(hwsurface){
|
||||
size_t mem_len=((dev.fix.smem_start) -((dev.fix.smem_start) & ~(getpagesize() - 1)));
|
||||
setfbinfo(surf);
|
||||
surf->buffer=mmap( NULL,mem_len,PROT_READ | PROT_WRITE, MAP_SHARED,dev.fb, 0 );
|
||||
surf->buffer=mmap( NULL,dev.fix.smem_len,PROT_READ | PROT_WRITE, MAP_SHARED,dev.fb, 0 );
|
||||
dev.rfbScreen->frameBuffer = surf->buffer;
|
||||
surf->pitch=dev.fix.line_length;
|
||||
ResetScreenFormat(surf,width,height,format);
|
||||
|
Loading…
Reference in New Issue
Block a user