From 207d58ea0e348f80e64c3686421c45a3d1c71289 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 27 Feb 2019 01:56:58 +0100 Subject: [PATCH] Add FLIF library --- .gitmodules | 3 ++ lib/FLIF/Tupfile | 45 ++++++++++++++++++++++++++ lib/FLIF/symbols | 81 +++++++++++++++++++++++++++++++++++++++++++++++ lib/FLIF/upstream | 1 + 4 files changed, 130 insertions(+) create mode 100644 lib/FLIF/Tupfile create mode 100644 lib/FLIF/symbols create mode 160000 lib/FLIF/upstream diff --git a/.gitmodules b/.gitmodules index d59263f5d..3d2386a40 100644 --- a/.gitmodules +++ b/.gitmodules @@ -61,3 +61,6 @@ [submodule "libretro/cores/dinothawr/core"] path = libretro/cores/dinothawr/core url = https://github.com/libretro/Dinothawr +[submodule "lib/FLIF/upstream"] + path = lib/FLIF/upstream + url = https://github.com:FLIF-hub/FLIF diff --git a/lib/FLIF/Tupfile b/lib/FLIF/Tupfile new file mode 100644 index 000000000..ed8da22f8 --- /dev/null +++ b/lib/FLIF/Tupfile @@ -0,0 +1,45 @@ +include_rules + +CXX = `pkg-config genode-base --variable cxx` +LD = `pkg-config genode-base --variable ld` + +PKG_CONFIGS = genode-lib stdcxx libm + +# See upstream/src/CMakeLists.txt +FLIF_SRC_DIR = upstream/src +FILES_CPP = \ + $(FLIF_SRC_DIR)/image/crc32k.cpp \ + $(FLIF_SRC_DIR)/image/image-metadata.cpp \ + $(FLIF_SRC_DIR)/image/image-pam.cpp \ + $(FLIF_SRC_DIR)/image/image-png.cpp \ + $(FLIF_SRC_DIR)/image/image-pnm.cpp \ + $(FLIF_SRC_DIR)/image/image-rggb.cpp \ + $(FLIF_SRC_DIR)/image/image.cpp \ + $(FLIF_SRC_DIR)/maniac/bit.cpp \ + $(FLIF_SRC_DIR)/maniac/chance.cpp \ + $(FLIF_SRC_DIR)/maniac/symbol.cpp \ + $(FLIF_SRC_DIR)/transform/factory.cpp \ + $(FLIF_SRC_DIR)/io.cpp \ + $(FLIF_SRC_DIR)/common.cpp \ + $(FLIF_SRC_DIR)/flif-enc.cpp \ + $(FLIF_SRC_DIR)/library/flif-interface.cpp \ + +CXXFLAGS += -std=gnu++11 +CXXFLAGS += -DLODEPNG_NO_COMPILE_PNG -DLODEPNG_NO_COMPILE_DISK +CXXFLAGS += -DNDEBUG -O2 -ftree-vectorize -Wall +CXXFLAGS += -DINT16_MAX=0x7fff + +CXXFLAGS += `pkg-config --cflags $(PKG_CONFIGS) png zlib` + +LDFLAGS += `pkg-config --libs $(PKG_CONFIGS)` + +: foreach $(FILES_CPP) |> ^ CXX %f^ $(CXX) -c %f -o %o $(CXXFLAGS) |> %b.o {objects} + +: {objects} |> ^ LD %o^ $(LD) %f -o %o $(LDFLAGS) |> flif.lib.so + +: flif.lib.so |> strip -o %o %f |> $(DEPOT_DIR)/bin/x86_64/%d/@(DEPOT_VERSION)/%b {binary} + +ifdef DEPOT_KEY +: {binary} |> !depot_bin_tarball |> {tarballs} +: foreach {tarballs} |> !public_signature |> +endif diff --git a/lib/FLIF/symbols b/lib/FLIF/symbols new file mode 100644 index 000000000..51d221813 --- /dev/null +++ b/lib/FLIF/symbols @@ -0,0 +1,81 @@ +flif_abort_decoder T +flif_create_decoder T +flif_create_encoder T +flif_create_image_GRAY16 T +flif_create_image_GRAY T +flif_create_image_HDR T +flif_create_image_PALETTE T +flif_create_image_RGB T +flif_create_image T +flif_decoder_decode_filepointer T +flif_decoder_decode_file T +flif_decoder_decode_memory T +flif_decoder_generate_preview T +flif_decoder_get_image T +flif_decoder_num_images T +flif_decoder_num_loops T +flif_decoder_set_callback T +flif_decoder_set_crc_check T +flif_decoder_set_first_callback_quality T +flif_decoder_set_fit T +flif_decoder_set_quality T +flif_decoder_set_resize T +flif_decoder_set_scale T +flif_destroy_decoder T +flif_destroy_encoder T +flif_destroy_image T +flif_destroy_info T +flif_encoder_add_image_move T +flif_encoder_add_image T +flif_encoder_encode_file T +flif_encoder_encode_memory T +flif_encoder_set_alpha_zero_lossless T +flif_encoder_set_auto_color_buckets T +flif_encoder_set_chance_alpha T +flif_encoder_set_chance_cutoff T +flif_encoder_set_channel_compact T +flif_encoder_set_crc_check T +flif_encoder_set_divisor T +flif_encoder_set_frame_shape T +flif_encoder_set_interlaced T +flif_encoder_set_learn_repeat T +flif_encoder_set_lookback T +flif_encoder_set_lossy T +flif_encoder_set_min_size T +flif_encoder_set_palette_size T +flif_encoder_set_split_threshold T +flif_encoder_set_ycocg T +flif_free_memory T +flif_image_free_metadata T +flif_image_get_depth T +flif_image_get_frame_delay T +flif_image_get_height T +flif_image_get_metadata T +flif_image_get_nb_channels T +flif_image_get_palette_size T +flif_image_get_palette T +flif_image_get_width T +flif_image_read_row_GRAY16 T +flif_image_read_row_GRAY8 T +flif_image_read_row_PALETTE8 T +flif_image_read_row_RGBA16 T +flif_image_read_row_RGBA8 T +flif_image_set_frame_delay T +flif_image_set_metadata T +flif_image_set_palette T +flif_image_write_row_GRAY16 T +flif_image_write_row_GRAY8 T +flif_image_write_row_PALETTE8 T +flif_image_write_row_RGBA16 T +flif_image_write_row_RGBA8 T +flif_import_image_GRAY16 T +flif_import_image_GRAY T +flif_import_image_PALETTE T +flif_import_image_RGBA T +flif_import_image_RGB T +flif_info_get_depth T +flif_info_get_height T +flif_info_get_nb_channels T +flif_info_get_width T +flif_info_num_images T +flif_read_info_from_memory T diff --git a/lib/FLIF/upstream b/lib/FLIF/upstream new file mode 160000 index 000000000..74ea92bf1 --- /dev/null +++ b/lib/FLIF/upstream @@ -0,0 +1 @@ +Subproject commit 74ea92bf1ab2db18ae6d2a521dff946fcc679618