Hi, while exploring the need for adaptions in the build system of libsofs, i wonder whether it is really necessary to create LIBJTE2 in libjte.ver. Adding new functions is upward compatible. In my libraries i add them to the current (and only) SONAME version.
Fine check for compatibility happens at compile time by the required minimum version (e.g. iso_libjte_req_* versus LIBJTE_VERSION_*) and at run time by calling libjte__is_compatible(). If libisoburn gets a configure.ac test for existence of libjte_set_checksum_algorithm(), a compiler macro to enable its use, and a configure option to disable it despite being available, then it can even be built with the older libjte. (Fully autostylish.) So how about this in libjte/libjte.ver ? LIBJTE1 { global ... libjte_get_next_message; libjte_clear_msg_list; + libjte_set_checksum_algorithm; + libjte_set_checksum_path; + libjte_add_checksum_demand; + libjte_decide_file_jigdo2; + libjte_write_match_record2; local: *; }; (Good news is that even libjte2 would probably not cause changes in the build system of libisofs. Currently it depends only on <libjte/libjte.h> and on libjte.so. I hope that both can keep their names. debian/control depends on libjte1 indirectly via libjte-dev. Adding "(>= 2.0.0)" would not really be necessary.) Have a nice day :) Thomas