diff options
author | Tony Theodore <tonyt@logyst.com> | 2013-03-23 19:33:47 (GMT) |
---|---|---|
committer | Tony Theodore <tonyt@logyst.com> | 2013-03-23 19:33:47 (GMT) |
commit | d4f2dcf3f00152b044c814585945ffabaf3ec65e (patch) | |
tree | 96c4d604dda2cc49370191eea6b29e3f6db5b7a5 | |
parent | b2dbb6d384072c92d7b5e8f3ebfffbab35b7f050 (diff) | |
download | mxe-d4f2dcf3f00152b044c814585945ffabaf3ec65e.zip mxe-d4f2dcf3f00152b044c814585945ffabaf3ec65e.tar.gz mxe-d4f2dcf3f00152b044c814585945ffabaf3ec65e.tar.bz2 |
package lensfun: add pkg-config file and test program
-rw-r--r-- | src/lensfun-test.c | 87 | ||||
-rw-r--r-- | src/lensfun.mk | 17 |
2 files changed, 102 insertions, 2 deletions
diff --git a/src/lensfun-test.c b/src/lensfun-test.c new file mode 100644 index 0000000..e4b6e4b --- /dev/null +++ b/src/lensfun-test.c @@ -0,0 +1,87 @@ +/* + * This file is part of MXE. + * See index.html for further information. + */ + +/* + http://lensfun.berlios.de/manual/example_8c-example.html + A simple example of library usage from plain C +*/ + +#include "lensfun.h" +#include <stdio.h> +#include <locale.h> +#include <glib.h> + +int main () +{ + int i, j; + const struct lfMount *const *mounts; + const struct lfCamera *const *cameras; + const struct lfLens *const *lenses; + struct lfDatabase *ldb; + lfError e; + + /* Initialize locale in order to get translated names */ + setlocale (LC_ALL, ""); + + ldb = lf_db_new (); + if (!ldb) + { + fprintf (stderr, "Failed to create database\n"); + return -1; + } + + g_print ("HomeDataDir: %s\n", ldb->HomeDataDir); + + lf_db_load (ldb); + + g_print ("< --------------- < Mounts > --------------- >\n"); + mounts = lf_db_get_mounts (ldb); + for (i = 0; mounts [i]; i++) + { + g_print ("Mount: %s\n", lf_mlstr_get (mounts [i]->Name)); + if (mounts [i]->Compat) + for (j = 0; mounts [i]->Compat [j]; j++) + g_print ("\tCompat: %s\n", mounts [i]->Compat [j]); + } + + g_print ("< --------------- < Cameras > --------------- >\n"); + cameras = lf_db_get_cameras (ldb); + for (i = 0; cameras [i]; i++) + { + g_print ("Camera: %s / %s %s%s%s\n", + lf_mlstr_get (cameras [i]->Maker), + lf_mlstr_get (cameras [i]->Model), + cameras [i]->Variant ? "(" : "", + cameras [i]->Variant ? lf_mlstr_get (cameras [i]->Variant) : "", + cameras [i]->Variant ? ")" : ""); + g_print ("\tMount: %s\n", lf_db_mount_name (ldb, cameras [i]->Mount)); + g_print ("\tCrop factor: %g\n", cameras [i]->CropFactor); + } + + g_print ("< --------------- < Lenses > --------------- >\n"); + lenses = lf_db_get_lenses (ldb); + for (i = 0; lenses [i]; i++) + { + g_print ("Lens: %s / %s\n", + lf_mlstr_get (lenses [i]->Maker), + lf_mlstr_get (lenses [i]->Model)); + g_print ("\tCrop factor: %g\n", lenses [i]->CropFactor); + g_print ("\tFocal: %g-%g\n", lenses [i]->MinFocal, lenses [i]->MaxFocal); + g_print ("\tAperture: %g-%g\n", lenses [i]->MinAperture, lenses [i]->MaxAperture); + g_print ("\tCenter: %g,%g\n", lenses [i]->CenterX, lenses [i]->CenterY); + g_print ("\tCCI: %g/%g/%g\n", lenses [i]->RedCCI, lenses [i]->GreenCCI, lenses [i]->BlueCCI); + if (lenses [i]->Mounts) + for (j = 0; lenses [i]->Mounts [j]; j++) + g_print ("\tMount: %s\n", lf_db_mount_name (ldb, lenses [i]->Mounts [j])); + } + + g_print ("< ---< Saving database into one big file >--- >\n"); + e = lf_db_save_file (ldb, "example-big.xml", mounts, cameras, lenses); + if (e != LF_NO_ERROR) + fprintf (stderr, "Failed writing to file, error code %d\n", e); + + lf_db_destroy (ldb); + return 0; +} diff --git a/src/lensfun.mk b/src/lensfun.mk index d693cbb..f72b747 100644 --- a/src/lensfun.mk +++ b/src/lensfun.mk @@ -23,6 +23,19 @@ define $(PKG)_BUILD --mode=release \ --vectorization= \ --staticlibs=YES - $(MAKE) -C '$(1)' -j '$(JOBS)' libs bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= - $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= + $(MAKE) -C '$(1)' -j '$(JOBS)' libs + $(MAKE) -C '$(1)' -j 1 install + + #pkg-config file + (echo 'Name: $(PKG)'; \ + echo 'Version: $($(PKG)_VERSION)'; \ + echo 'Description: $(PKG)'; \ + echo 'Requires: glib-2.0'; \ + echo 'Libs: -l$(PKG) -lstdc++ -lregex';) \ + > '$(PREFIX)/$(TARGET)/lib/pkgconfig/$(PKG).pc' + + '$(TARGET)-gcc' \ + -W -Wall -Werror -ansi \ + '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-lensfun.exe' \ + `'$(TARGET)-pkg-config' lensfun --cflags --libs` endef |