gnucash master: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Thu Aug 22 10:12:30 EDT 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/2af0fa98 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d31a23d3 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f5278621 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/a20c6099 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f9dc1980 (commit)



commit 2af0fa98496b9801270580026cad6adf48db9047
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Aug 22 16:12:20 2019 +0200

    Restructure installed locations of tax related files
    
    They are now under gnucash/locale/{us,de_DE}. This introduces a directory to add
    any scm code that is locale specific. For now it's limited to tax rules for
    the US or Germany.

diff --git a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
index 911064d27..4bd967c80 100644
--- a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
+++ b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
@@ -71,7 +71,7 @@
 (use-modules (srfi srfi-1))
 (use-modules (gnucash core-utils)) ; for gnc:version
 (use-modules (gnucash gettext))
-(use-modules (gnucash tax-de_DE))
+(use-modules (gnucash locale de_DE tax))
 
 (use-modules (gnucash gnc-module))
 (gnc:module-load "gnucash/report" 0)
diff --git a/gnucash/report/reports/locale-specific/us/taxtxf.scm b/gnucash/report/reports/locale-specific/us/taxtxf.scm
index 85ef5c24c..62928f662 100644
--- a/gnucash/report/reports/locale-specific/us/taxtxf.scm
+++ b/gnucash/report/reports/locale-specific/us/taxtxf.scm
@@ -103,7 +103,7 @@
 (use-modules (srfi srfi-1))
 (use-modules (gnucash gnc-module))
 (use-modules (gnucash gettext))
-(use-modules (gnucash tax-us))
+(use-modules (gnucash locale us tax))
 
 (eval-when
       (compile load eval expand)
diff --git a/libgnucash/tax/CMakeLists.txt b/libgnucash/tax/CMakeLists.txt
index 30b8cb010..f51877241 100644
--- a/libgnucash/tax/CMakeLists.txt
+++ b/libgnucash/tax/CMakeLists.txt
@@ -24,42 +24,42 @@ install(TARGETS gncmod-locale-tax
 # Scheme
 
 set(gncmod_tax_us_SCHEME_1 us/txf.scm us/txf-help.scm)
-set(gncmod_tax_us_SCHEME_2 us/tax-us.scm)
+set(gncmod_tax_us_SCHEME_2 us/tax.scm)
 
-set(gncmod_tax_de_DE_SCHEME_1 de_DE/txf-de_DE.scm de_DE/txf-help-de_DE.scm)
-set(gncmod_tax_de_DE_SCHEME_2 de_DE/tax-de_DE.scm)
+set(gncmod_tax_de_DE_SCHEME_1 de_DE/txf.scm de_DE/txf-help.scm)
+set(gncmod_tax_de_DE_SCHEME_2 de_DE/tax.scm)
 
 set(GUILE_DEPENDS scm-app-utils scm-gnc-module)
 
 gnc_add_scheme_targets(scm-tax-us-1
 "${gncmod_tax_us_SCHEME_1}"
-"gnucash/tax-us"
+"gnucash/locale/us/tax"
 "${GUILE_DEPENDS}"
 TRUE
 )
 gnc_add_scheme_targets(scm-tax-us-2
 "${gncmod_tax_us_SCHEME_2}"
-gnucash
+"gnucash/locale/us"
 "${GUILE_DEPENDS}"
 FALSE
 )
 
 gnc_add_scheme_targets(scm-tax-de_DE-1
 "${gncmod_tax_de_DE_SCHEME_1}"
-"gnucash/tax-de_DE"
+"gnucash/locale/de_DE/tax"
 "${GUILE_DEPENDS}"
 TRUE
 )
 gnc_add_scheme_targets(scm-tax-de_DE-2
 "${gncmod_tax_de_DE_SCHEME_2}"
-gnucash
+"gnucash/locale/de_DE"
 "${GUILE_DEPENDS}"
 FALSE
 )
 
 # Module interfaces deprecated in 4.x, will be removed for 5.x
-gnc_add_scheme_deprecated_module ("gnucash tax de_DE" "gnucash tax-de_DE" "scm-tax-de_DE-2" "")
-gnc_add_scheme_deprecated_module ("gnucash tax us" "gnucash tax-us" "scm-tax-us-2" "")
+gnc_add_scheme_deprecated_module ("gnucash tax de_DE" "gnucash locale de_DE tax" "scm-tax-de_DE-2" "")
+gnc_add_scheme_deprecated_module ("gnucash tax us" "gnucash locale us tax" "scm-tax-us-2" "")
 
 add_custom_target(scm-locale-tax ALL DEPENDS scm-tax-us-1 scm-tax-us-2 scm-tax-de_DE-1 scm-tax-de_DE-2 )
 
diff --git a/libgnucash/tax/de_DE/tax-de_DE.scm b/libgnucash/tax/de_DE/tax.scm
similarity index 93%
rename from libgnucash/tax/de_DE/tax-de_DE.scm
rename to libgnucash/tax/de_DE/tax.scm
index 26d420046..1fff197ef 100644
--- a/libgnucash/tax/de_DE/tax-de_DE.scm
+++ b/libgnucash/tax/de_DE/tax.scm
@@ -17,7 +17,7 @@
 ;; Boston, MA  02110-1301,  USA       gnu at gnu.org
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(define-module (gnucash tax-de_DE))
+(define-module (gnucash locale de_DE tax))
 
 (use-modules (gnucash gnc-module))
 (eval-when
@@ -54,5 +54,5 @@
 
 (export gnc:*tax-label* gnc:*tax-nr-label*)
 
-(load-from-path "gnucash/tax-de_DE/txf-de_DE")
-(load-from-path "gnucash/tax-de_DE/txf-help-de_DE")
+(load-from-path "gnucash/locale/de_DE/tax/txf")
+(load-from-path "gnucash/locale/de_DE/tax/txf-help")
diff --git a/libgnucash/tax/de_DE/txf-help-de_DE.scm b/libgnucash/tax/de_DE/txf-help.scm
similarity index 100%
rename from libgnucash/tax/de_DE/txf-help-de_DE.scm
rename to libgnucash/tax/de_DE/txf-help.scm
diff --git a/libgnucash/tax/de_DE/txf-de_DE.scm b/libgnucash/tax/de_DE/txf.scm
similarity index 100%
rename from libgnucash/tax/de_DE/txf-de_DE.scm
rename to libgnucash/tax/de_DE/txf.scm
diff --git a/libgnucash/tax/gncmod-locale-tax.c b/libgnucash/tax/gncmod-locale-tax.c
index 024628359..10751575e 100644
--- a/libgnucash/tax/gncmod-locale-tax.c
+++ b/libgnucash/tax/gncmod-locale-tax.c
@@ -80,9 +80,9 @@ libgncmod_locale_tax_gnc_module_init(int refcount)
     gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
 # endif /* G_OS_WIN32 */
     if (is_de_DE)
-        lmod("(gnucash tax-de_DE)");
+        lmod("(gnucash locale de_DE tax)");
     else
-        lmod("(gnucash tax-us)");
+        lmod("(gnucash locale us tax)");
     return TRUE;
 }
 
diff --git a/libgnucash/tax/us/tax-us.scm b/libgnucash/tax/us/tax.scm
similarity index 91%
rename from libgnucash/tax/us/tax-us.scm
rename to libgnucash/tax/us/tax.scm
index d613406e1..14d70021e 100644
--- a/libgnucash/tax/us/tax-us.scm
+++ b/libgnucash/tax/us/tax.scm
@@ -17,7 +17,7 @@
 ;; Boston, MA  02110-1301,  USA       gnu at gnu.org
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(define-module (gnucash tax-us))
+(define-module (gnucash locale us tax))
 
 (export gnc:txf-get-payer-name-source)
 (export gnc:txf-get-form)
@@ -40,5 +40,5 @@
 (export txf-asset-categories)
 (export txf-liab-eq-categories)
 
-(load-from-path "gnucash/tax-us/txf")
-(load-from-path "gnucash/tax-us/txf-help")
+(load-from-path "gnucash/locale/us/tax/txf")
+(load-from-path "gnucash/locale/us/tax/txf-help")
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 169765e44..9339bf3a3 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -695,10 +695,10 @@ libgnucash/gnc-module/gnc-module.c
 libgnucash/gnc-module/gnc-module.scm
 libgnucash/scm/price-quotes.scm
 libgnucash/scm/utilities.scm
-libgnucash/tax/de_DE/tax-de_DE.scm
-libgnucash/tax/de_DE/txf-de_DE.scm
-libgnucash/tax/de_DE/txf-help-de_DE.scm
+libgnucash/tax/de_DE/tax.scm
+libgnucash/tax/de_DE/txf-help.scm
+libgnucash/tax/de_DE/txf.scm
 libgnucash/tax/gncmod-locale-tax.c
-libgnucash/tax/us/tax-us.scm
+libgnucash/tax/us/tax.scm
 libgnucash/tax/us/txf-help.scm
 libgnucash/tax/us/txf.scm

commit d31a23d36997e2f614961195b5f68f290e7eb000
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Aug 22 15:53:11 2019 +0200

    Restructure tax source directory.
    
    Put common code in the top-level, and locale specific code in
    language specific subdirectories.

diff --git a/libgnucash/tax/CMakeLists.txt b/libgnucash/tax/CMakeLists.txt
index f44c7333d..30b8cb010 100644
--- a/libgnucash/tax/CMakeLists.txt
+++ b/libgnucash/tax/CMakeLists.txt
@@ -1,5 +1,74 @@
+add_subdirectory(test)
 
-add_subdirectory(us)
+set(locale_tax_SOURCES gncmod-locale-tax.c)
 
-set_local_dist(tax_DIST_local CMakeLists.txt )
-set(tax_DIST ${tax_DIST_local} ${locale_tax_DIST} PARENT_SCOPE)
+# Add dependency on config.h
+set_source_files_properties (${locale_tax_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
+
+add_library(gncmod-locale-tax ${locale_tax_SOURCES})
+target_link_libraries(gncmod-locale-tax gnc-module ${GLIB2_LDFLAGS} ${GUILE_LDFLAGS})
+
+target_include_directories(gncmod-locale-tax
+    PRIVATE ${CMAKE_BINARY_DIR}/common ${GUILE_INCLUDE_DIRS})
+
+if (APPLE)
+  set_target_properties (gncmod-locale-tax PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/gnucash")
+endif()
+
+install(TARGETS gncmod-locale-tax
+  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
+  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
+  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+# No headers to install
+
+# Scheme
+
+set(gncmod_tax_us_SCHEME_1 us/txf.scm us/txf-help.scm)
+set(gncmod_tax_us_SCHEME_2 us/tax-us.scm)
+
+set(gncmod_tax_de_DE_SCHEME_1 de_DE/txf-de_DE.scm de_DE/txf-help-de_DE.scm)
+set(gncmod_tax_de_DE_SCHEME_2 de_DE/tax-de_DE.scm)
+
+set(GUILE_DEPENDS scm-app-utils scm-gnc-module)
+
+gnc_add_scheme_targets(scm-tax-us-1
+"${gncmod_tax_us_SCHEME_1}"
+"gnucash/tax-us"
+"${GUILE_DEPENDS}"
+TRUE
+)
+gnc_add_scheme_targets(scm-tax-us-2
+"${gncmod_tax_us_SCHEME_2}"
+gnucash
+"${GUILE_DEPENDS}"
+FALSE
+)
+
+gnc_add_scheme_targets(scm-tax-de_DE-1
+"${gncmod_tax_de_DE_SCHEME_1}"
+"gnucash/tax-de_DE"
+"${GUILE_DEPENDS}"
+TRUE
+)
+gnc_add_scheme_targets(scm-tax-de_DE-2
+"${gncmod_tax_de_DE_SCHEME_2}"
+gnucash
+"${GUILE_DEPENDS}"
+FALSE
+)
+
+# Module interfaces deprecated in 4.x, will be removed for 5.x
+gnc_add_scheme_deprecated_module ("gnucash tax de_DE" "gnucash tax-de_DE" "scm-tax-de_DE-2" "")
+gnc_add_scheme_deprecated_module ("gnucash tax us" "gnucash tax-us" "scm-tax-us-2" "")
+
+add_custom_target(scm-locale-tax ALL DEPENDS scm-tax-us-1 scm-tax-us-2 scm-tax-de_DE-1 scm-tax-de_DE-2 )
+
+set(de_DE_tax_EXTRA_DIST
+    "de_DE/taxtxf-LIES MICH.txt"
+    "de_DE/txf-Ust-Bericht.html"
+    "de_DE/txf-Ust-VA Anleitung 2011.pdf")
+set_local_dist(tax_DIST_local CMakeLists.txt ${locale_tax_SOURCES}
+    ${gncmod_tax_us_SCHEME_1} ${gncmod_tax_us_SCHEME_2}
+    ${gncmod_tax_de_DE_SCHEME_1} ${gncmod_tax_de_DE_SCHEME_2}
+    $de_DE_tax_EXTRA_DIST)
+set(tax_DIST ${tax_DIST_local} ${locale_tax_DIST} ${test_locale_tax_DIST} PARENT_SCOPE)
diff --git a/libgnucash/tax/us/tax-de_DE.scm b/libgnucash/tax/de_DE/tax-de_DE.scm
similarity index 100%
rename from libgnucash/tax/us/tax-de_DE.scm
rename to libgnucash/tax/de_DE/tax-de_DE.scm
diff --git a/libgnucash/tax/us/de_DE/taxtxf - LIES MICH.txt b/libgnucash/tax/de_DE/taxtxf - LIES MICH.txt
similarity index 100%
rename from libgnucash/tax/us/de_DE/taxtxf - LIES MICH.txt
rename to libgnucash/tax/de_DE/taxtxf - LIES MICH.txt
diff --git a/libgnucash/tax/us/de_DE/txf-USt-Bericht.html b/libgnucash/tax/de_DE/txf-USt-Bericht.html
similarity index 100%
rename from libgnucash/tax/us/de_DE/txf-USt-Bericht.html
rename to libgnucash/tax/de_DE/txf-USt-Bericht.html
diff --git a/libgnucash/tax/us/de_DE/txf-USt-VA Anleitung 2011.pdf b/libgnucash/tax/de_DE/txf-USt-VA Anleitung 2011.pdf
similarity index 100%
rename from libgnucash/tax/us/de_DE/txf-USt-VA Anleitung 2011.pdf
rename to libgnucash/tax/de_DE/txf-USt-VA Anleitung 2011.pdf
diff --git a/libgnucash/tax/us/txf-de_DE.scm b/libgnucash/tax/de_DE/txf-de_DE.scm
similarity index 100%
rename from libgnucash/tax/us/txf-de_DE.scm
rename to libgnucash/tax/de_DE/txf-de_DE.scm
diff --git a/libgnucash/tax/us/txf-help-de_DE.scm b/libgnucash/tax/de_DE/txf-help-de_DE.scm
similarity index 100%
rename from libgnucash/tax/us/txf-help-de_DE.scm
rename to libgnucash/tax/de_DE/txf-help-de_DE.scm
diff --git a/libgnucash/tax/us/gncmod-locale-tax.c b/libgnucash/tax/gncmod-locale-tax.c
similarity index 100%
rename from libgnucash/tax/us/gncmod-locale-tax.c
rename to libgnucash/tax/gncmod-locale-tax.c
diff --git a/libgnucash/tax/us/test/CMakeLists.txt b/libgnucash/tax/test/CMakeLists.txt
similarity index 100%
rename from libgnucash/tax/us/test/CMakeLists.txt
rename to libgnucash/tax/test/CMakeLists.txt
diff --git a/libgnucash/tax/us/test/test-link-module.c b/libgnucash/tax/test/test-link-module.c
similarity index 100%
rename from libgnucash/tax/us/test/test-link-module.c
rename to libgnucash/tax/test/test-link-module.c
diff --git a/libgnucash/tax/us/test/test-load-locale-tax-module.scm b/libgnucash/tax/test/test-load-locale-tax-module.scm
similarity index 100%
rename from libgnucash/tax/us/test/test-load-locale-tax-module.scm
rename to libgnucash/tax/test/test-load-locale-tax-module.scm
diff --git a/libgnucash/tax/us/CMakeLists.txt b/libgnucash/tax/us/CMakeLists.txt
deleted file mode 100644
index 26a07045c..000000000
--- a/libgnucash/tax/us/CMakeLists.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-add_subdirectory(test)
-
-set(locale_tax_SOURCES gncmod-locale-tax.c)
-
-# Add dependency on config.h
-set_source_files_properties (${locale_tax_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
-
-add_library(gncmod-locale-tax ${locale_tax_SOURCES})
-target_link_libraries(gncmod-locale-tax gnc-module ${GLIB2_LDFLAGS} ${GUILE_LDFLAGS})
-
-target_include_directories(gncmod-locale-tax
-    PRIVATE ${CMAKE_BINARY_DIR}/common ${GUILE_INCLUDE_DIRS})
-
-if (APPLE)
-  set_target_properties (gncmod-locale-tax PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/gnucash")
-endif()
-
-install(TARGETS gncmod-locale-tax
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
-  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
-  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-# No headers to install
-
-# Scheme
-
-set(gncmod_tax_us_SCHEME_1 txf.scm txf-help.scm)
-set(gncmod_tax_us_SCHEME_2 tax-us.scm)
-
-set(gncmod_tax_de_DE_SCHEME_1 txf-de_DE.scm txf-help-de_DE.scm)
-set(gncmod_tax_de_DE_SCHEME_2 tax-de_DE.scm)
-
-set(GUILE_DEPENDS scm-app-utils scm-gnc-module)
-
-gnc_add_scheme_targets(scm-tax-us-1
-  "${gncmod_tax_us_SCHEME_1}"
-  "gnucash/tax-us"
-  "${GUILE_DEPENDS}"
-  TRUE
-  )
-gnc_add_scheme_targets(scm-tax-us-2
-  "${gncmod_tax_us_SCHEME_2}"
-  gnucash
-  "${GUILE_DEPENDS}"
-  FALSE
-  )
-
-gnc_add_scheme_targets(scm-tax-de_DE-1
-  "${gncmod_tax_de_DE_SCHEME_1}"
-  "gnucash/tax-de_DE"
-  "${GUILE_DEPENDS}"
-  TRUE
-  )
-gnc_add_scheme_targets(scm-tax-de_DE-2
-  "${gncmod_tax_de_DE_SCHEME_2}"
-  gnucash
-  "${GUILE_DEPENDS}"
-  FALSE
-  )
-
-# Module interfaces deprecated in 4.x, will be removed for 5.x
-gnc_add_scheme_deprecated_module ("gnucash tax de_DE" "gnucash tax-de_DE" "scm-tax-de_DE-2" "")
-gnc_add_scheme_deprecated_module ("gnucash tax us" "gnucash tax-us" "scm-tax-us-2" "")
-
-add_custom_target(scm-locale-tax ALL DEPENDS scm-tax-us-1 scm-tax-us-2 scm-tax-de_DE-1 scm-tax-de_DE-2 )
-
-set_local_dist(locale_tax_DIST_local CMakeLists.txt ${locale_tax_SOURCES}
-    ${gncmod_tax_us_SCHEME_1} ${gncmod_tax_us_SCHEME_2}
-    ${gncmod_tax_de_DE_SCHEME_1} ${gncmod_tax_de_DE_SCHEME_2})
-set(locale_tax_DIST ${locale_tax_DIST_local} ${test_locale_tax_DIST} PARENT_SCOPE)
-
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f529e273b..169765e44 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -695,10 +695,10 @@ libgnucash/gnc-module/gnc-module.c
 libgnucash/gnc-module/gnc-module.scm
 libgnucash/scm/price-quotes.scm
 libgnucash/scm/utilities.scm
-libgnucash/tax/us/gncmod-locale-tax.c
-libgnucash/tax/us/tax-de_DE.scm
+libgnucash/tax/de_DE/tax-de_DE.scm
+libgnucash/tax/de_DE/txf-de_DE.scm
+libgnucash/tax/de_DE/txf-help-de_DE.scm
+libgnucash/tax/gncmod-locale-tax.c
 libgnucash/tax/us/tax-us.scm
-libgnucash/tax/us/txf-de_DE.scm
-libgnucash/tax/us/txf-help-de_DE.scm
 libgnucash/tax/us/txf-help.scm
 libgnucash/tax/us/txf.scm

commit f5278621b0be9d27f928ff1b450dc106c9088741
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Aug 22 15:35:26 2019 +0200

    Rename module and related cmake rules from tax-us to locale-tax

diff --git a/gnucash/report/reports/CMakeLists.txt b/gnucash/report/reports/CMakeLists.txt
index 76a0d5c64..fba8952aa 100644
--- a/gnucash/report/reports/CMakeLists.txt
+++ b/gnucash/report/reports/CMakeLists.txt
@@ -96,7 +96,7 @@ set(scm_rpt_locale_specific_GUILE_DEPENDS
   scm-gnc-module
   scm-scm
   scm-test-core
-  scm-tax-us
+  scm-locale-tax
   scm-report
   scm-gnome-utils
   )
diff --git a/libgnucash/tax/CMakeLists.txt b/libgnucash/tax/CMakeLists.txt
index ae8c64135..f44c7333d 100644
--- a/libgnucash/tax/CMakeLists.txt
+++ b/libgnucash/tax/CMakeLists.txt
@@ -2,4 +2,4 @@
 add_subdirectory(us)
 
 set_local_dist(tax_DIST_local CMakeLists.txt )
-set(tax_DIST ${tax_DIST_local} ${tax_us_DIST} PARENT_SCOPE)
\ No newline at end of file
+set(tax_DIST ${tax_DIST_local} ${locale_tax_DIST} PARENT_SCOPE)
diff --git a/libgnucash/tax/us/CMakeLists.txt b/libgnucash/tax/us/CMakeLists.txt
index cfaf810b6..26a07045c 100644
--- a/libgnucash/tax/us/CMakeLists.txt
+++ b/libgnucash/tax/us/CMakeLists.txt
@@ -1,21 +1,21 @@
 add_subdirectory(test)
 
-set(tax_us_SOURCES gncmod-tax-us.c)
+set(locale_tax_SOURCES gncmod-locale-tax.c)
 
 # Add dependency on config.h
-set_source_files_properties (${tax_us_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
+set_source_files_properties (${locale_tax_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
 
-add_library(gncmod-tax-us ${tax_us_SOURCES})
-target_link_libraries(gncmod-tax-us gnc-module ${GLIB2_LDFLAGS} ${GUILE_LDFLAGS})
+add_library(gncmod-locale-tax ${locale_tax_SOURCES})
+target_link_libraries(gncmod-locale-tax gnc-module ${GLIB2_LDFLAGS} ${GUILE_LDFLAGS})
 
-target_include_directories(gncmod-tax-us
+target_include_directories(gncmod-locale-tax
     PRIVATE ${CMAKE_BINARY_DIR}/common ${GUILE_INCLUDE_DIRS})
 
 if (APPLE)
-  set_target_properties (gncmod-tax-us PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/gnucash")
+  set_target_properties (gncmod-locale-tax PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_FULL_LIBDIR}/gnucash")
 endif()
 
-install(TARGETS gncmod-tax-us
+install(TARGETS gncmod-locale-tax
   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
   ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/gnucash
   RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
@@ -61,10 +61,10 @@ gnc_add_scheme_targets(scm-tax-de_DE-2
 gnc_add_scheme_deprecated_module ("gnucash tax de_DE" "gnucash tax-de_DE" "scm-tax-de_DE-2" "")
 gnc_add_scheme_deprecated_module ("gnucash tax us" "gnucash tax-us" "scm-tax-us-2" "")
 
-add_custom_target(scm-tax-us ALL DEPENDS scm-tax-us-1 scm-tax-us-2 scm-tax-de_DE-1 scm-tax-de_DE-2 )
+add_custom_target(scm-locale-tax ALL DEPENDS scm-tax-us-1 scm-tax-us-2 scm-tax-de_DE-1 scm-tax-de_DE-2 )
 
-set_local_dist(tax_us_DIST_local CMakeLists.txt ${tax_us_SOURCES}
+set_local_dist(locale_tax_DIST_local CMakeLists.txt ${locale_tax_SOURCES}
     ${gncmod_tax_us_SCHEME_1} ${gncmod_tax_us_SCHEME_2}
     ${gncmod_tax_de_DE_SCHEME_1} ${gncmod_tax_de_DE_SCHEME_2})
-set(tax_us_DIST ${tax_us_DIST_local} ${test_tax_us_DIST} PARENT_SCOPE)
+set(locale_tax_DIST ${locale_tax_DIST_local} ${test_locale_tax_DIST} PARENT_SCOPE)
 
diff --git a/libgnucash/tax/us/gncmod-tax-us.c b/libgnucash/tax/us/gncmod-locale-tax.c
similarity index 85%
rename from libgnucash/tax/us/gncmod-tax-us.c
rename to libgnucash/tax/us/gncmod-locale-tax.c
index 8ea85b516..024628359 100644
--- a/libgnucash/tax/us/gncmod-tax-us.c
+++ b/libgnucash/tax/us/gncmod-locale-tax.c
@@ -1,5 +1,5 @@
 /*********************************************************************
- * gncmod-tax-us.c
+ * gncmod-locale-tax.c
  * module definition/initialization for us tax info
  *
  * Copyright (c) 2001 Linux Developers Group, Inc.
@@ -34,25 +34,25 @@
 #include "gnc-module.h"
 #include "gnc-module-api.h"
 
-GNC_MODULE_API_DECL(libgncmod_tax_us)
+GNC_MODULE_API_DECL(libgncmod_locale_tax)
 
 /* version of the gnc module system interface we require */
-int libgncmod_tax_us_gnc_module_system_interface = 0;
+int libgncmod_locale_tax_gnc_module_system_interface = 0;
 
 /* module versioning uses libtool semantics. */
-int libgncmod_tax_us_gnc_module_current  = 0;
-int libgncmod_tax_us_gnc_module_revision = 0;
-int libgncmod_tax_us_gnc_module_age      = 0;
+int libgncmod_locale_tax_gnc_module_current  = 0;
+int libgncmod_locale_tax_gnc_module_revision = 0;
+int libgncmod_locale_tax_gnc_module_age      = 0;
 
 
 char *
-libgncmod_tax_us_gnc_module_path(void)
+libgncmod_locale_tax_gnc_module_path(void)
 {
     return g_strdup("gnucash/locale/tax");
 }
 
 char *
-libgncmod_tax_us_gnc_module_description(void)
+libgncmod_locale_tax_gnc_module_description(void)
 {
     return g_strdup("Locale dependent income tax information. Currently supported are 'us' and 'de_DE'. Default is 'us'");
 }
@@ -66,7 +66,7 @@ lmod(char * mn)
 }
 
 int
-libgncmod_tax_us_gnc_module_init(int refcount)
+libgncmod_locale_tax_gnc_module_init(int refcount)
 {
     /* This is a very simple hack that loads the (new, special) German
        tax definition file in a German locale, or (default) loads the
@@ -87,7 +87,7 @@ libgncmod_tax_us_gnc_module_init(int refcount)
 }
 
 int
-libgncmod_tax_us_gnc_module_end(int refcount)
+libgncmod_locale_tax_gnc_module_end(int refcount)
 {
     return TRUE;
 }
diff --git a/libgnucash/tax/us/test/CMakeLists.txt b/libgnucash/tax/us/test/CMakeLists.txt
index e8460be5b..5156048a7 100644
--- a/libgnucash/tax/us/test/CMakeLists.txt
+++ b/libgnucash/tax/us/test/CMakeLists.txt
@@ -1,8 +1,8 @@
-set(TAX_US_TEST_INCLUDE_DIRS "")
-set(TAX_US_TEST_LIBS "")
+set(LOCALE_TAX_TEST_INCLUDE_DIRS "")
+set(LOCALE_TAX_TEST_LIBS "")
 
 gnc_add_test(test-link-module-tax-us test-link-module.c
-  TAX_US_TEST_INCLUDE_DIRS TAX_US_TEST_LIBS
+  LOCALE_TAX_TEST_INCLUDE_DIRS LOCALE_TAX_TEST_LIBS
 )
 
 # FIXME why is this test not run ?
@@ -12,11 +12,11 @@ gnc_add_test(test-link-module-tax-us test-link-module.c
 #)
 #
 #gnc_add_scheme_test_targets(scm-test-load-tax-us-module
-#  "test-load-tax-us-module.scm"
+#  "test-load-locale-tax-module.scm"
 #  "tests"
 #  "${GUILE_DEPENDS}"
 #  FALSE
 #)
-#gnc_add_scheme_test(test-load-tax-us-module.scm)
+#gnc_add_scheme_test(test-load-locale-tax-module.scm)
 
-set_dist_list(test_tax_us_DIST CMakeLists.txt test-link-module.c test-load-tax-us-module.scm)
+set_dist_list(test_locale_tax_DIST CMakeLists.txt test-link-module.c test-load-locale-tax-module.scm)
diff --git a/libgnucash/tax/us/test/test-load-tax-us-module.scm b/libgnucash/tax/us/test/test-load-locale-tax-module.scm
similarity index 79%
rename from libgnucash/tax/us/test/test-load-tax-us-module.scm
rename to libgnucash/tax/us/test/test-load-locale-tax-module.scm
index 9b815486a..336142ba3 100755
--- a/libgnucash/tax/us/test/test-load-tax-us-module.scm
+++ b/libgnucash/tax/us/test/test-load-locale-tax-module.scm
@@ -1,4 +1,4 @@
-(display "  testing US tax info module load ... ")
+(display "  testing locale tax info module load ... ")
 (use-modules (gnucash gnc-module))
 (gnc:module-system-init)
 
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 430c465e4..f529e273b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -695,7 +695,7 @@ libgnucash/gnc-module/gnc-module.c
 libgnucash/gnc-module/gnc-module.scm
 libgnucash/scm/price-quotes.scm
 libgnucash/scm/utilities.scm
-libgnucash/tax/us/gncmod-tax-us.c
+libgnucash/tax/us/gncmod-locale-tax.c
 libgnucash/tax/us/tax-de_DE.scm
 libgnucash/tax/us/tax-us.scm
 libgnucash/tax/us/txf-de_DE.scm

commit a20c60990a424b45518ec52337a98416cd669984
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Thu Aug 22 14:49:07 2019 +0200

    Use one single module to load locale specific tax rather than a module per locale
    
    This simplifies the calls in the rest of gnucash
    Note that the locale specific reports themselves don't even load this module any more.
    They don't need it, instead they can directly load the locale specific tax scheme modules.

diff --git a/gnucash/gnome/dialog-tax-info.c b/gnucash/gnome/dialog-tax-info.c
index cc52b0a37..6f23da662 100644
--- a/gnucash/gnome/dialog-tax-info.c
+++ b/gnucash/gnome/dialog-tax-info.c
@@ -32,6 +32,7 @@
 #include "guile-mappings.h"
 #include "guile-util.h"
 #include "gnc-guile-utils.h"
+#include "gnc-module.h"
 
 #include "Account.h"
 #include "gnc-ui-util.h"
@@ -145,6 +146,10 @@ typedef struct
 static void
 initialize_getters (void)
 {
+    if (!gnc_module_load("gnucash/locale/tax", 0))
+    {
+        return;
+    }
     getters.payer_name_source = scm_c_eval_string ("gnc:txf-get-payer-name-source");
     getters.form              = scm_c_eval_string ("gnc:txf-get-form");
     getters.description       = scm_c_eval_string ("gnc:txf-get-description");
diff --git a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
index 4382542aa..911064d27 100644
--- a/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
+++ b/gnucash/report/reports/locale-specific/de_DE/taxtxf.scm
@@ -71,9 +71,9 @@
 (use-modules (srfi srfi-1))
 (use-modules (gnucash core-utils)) ; for gnc:version
 (use-modules (gnucash gettext))
+(use-modules (gnucash tax-de_DE))
 
 (use-modules (gnucash gnc-module))
-(gnc:module-load "gnucash/tax/de_DE" 0)
 (gnc:module-load "gnucash/report" 0)
 (gnc:module-load "gnucash/engine" 0)
 
diff --git a/gnucash/report/reports/locale-specific/us/taxtxf.scm b/gnucash/report/reports/locale-specific/us/taxtxf.scm
index 2e86b2ec7..85ef5c24c 100644
--- a/gnucash/report/reports/locale-specific/us/taxtxf.scm
+++ b/gnucash/report/reports/locale-specific/us/taxtxf.scm
@@ -103,6 +103,7 @@
 (use-modules (srfi srfi-1))
 (use-modules (gnucash gnc-module))
 (use-modules (gnucash gettext))
+(use-modules (gnucash tax-us))
 
 (eval-when
       (compile load eval expand)
@@ -112,7 +113,6 @@
 (use-modules (gnucash core-utils)) ; for gnc:version
 
 (gnc:module-load "gnucash/html" 0)
-(gnc:module-load "gnucash/tax/us" 0)
 (gnc:module-load "gnucash/report" 0)
 
 (define reportname (N_ "Tax Schedule Report/TXF Export"))
diff --git a/libgnucash/app-utils/gnc-ui-util.c b/libgnucash/app-utils/gnc-ui-util.c
index 0c6213e5f..6543592d0 100644
--- a/libgnucash/app-utils/gnc-ui-util.c
+++ b/libgnucash/app-utils/gnc-ui-util.c
@@ -667,23 +667,10 @@ gnc_ui_account_get_tax_info_string (const Account *account)
         {
             GNCModule module;
             const gchar *tax_module;
-            /* load the tax info */
-            /* This is a very simple hack that loads the (new, special) German
-               tax definition file in a German locale, or (default) loads the
-               US tax file. */
-# ifdef G_OS_WIN32
-            gchar *thislocale = g_win32_getlocale();
-            gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-            g_free(thislocale);
-# else /* !G_OS_WIN32 */
-            const char *thislocale = setlocale(LC_ALL, NULL);
-            gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-# endif /* G_OS_WIN32 */
-            tax_module = is_de_DE ?
-                         "gnucash/tax/de_DE" :
-                         "gnucash/tax/us";
-
-            module = gnc_module_load ((char *)tax_module, 0);
+            /* load the tax info
+               Note that the module "gnucash/locale/tax" will handle selecting
+               the proper locale specific tax info */
+            module = gnc_module_load ("gnucash/locale/tax", 0);
 
             g_return_val_if_fail (module, NULL);
 
diff --git a/libgnucash/tax/us/gncmod-tax-us.c b/libgnucash/tax/us/gncmod-tax-us.c
index f08134e17..8ea85b516 100644
--- a/libgnucash/tax/us/gncmod-tax-us.c
+++ b/libgnucash/tax/us/gncmod-tax-us.c
@@ -48,24 +48,13 @@ int libgncmod_tax_us_gnc_module_age      = 0;
 char *
 libgncmod_tax_us_gnc_module_path(void)
 {
-# ifdef G_OS_WIN32
-    gchar *thislocale = g_win32_getlocale();
-    gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-    g_free(thislocale);
-# else /* !G_OS_WIN32 */
-    const char *thislocale = setlocale(LC_ALL, NULL);
-    gboolean is_de_DE = (strncmp(thislocale, "de_DE", 5) == 0);
-# endif /* G_OS_WIN32 */
-    if (is_de_DE)
-        return g_strdup("gnucash/tax/de_DE");
-    else
-        return g_strdup("gnucash/tax/us");
+    return g_strdup("gnucash/locale/tax");
 }
 
 char *
 libgncmod_tax_us_gnc_module_description(void)
 {
-    return g_strdup("US income tax information");
+    return g_strdup("Locale dependent income tax information. Currently supported are 'us' and 'de_DE'. Default is 'us'");
 }
 
 static void
diff --git a/libgnucash/tax/us/test/test-load-tax-us-module.scm b/libgnucash/tax/us/test/test-load-tax-us-module.scm
index ee2be9352..9b815486a 100755
--- a/libgnucash/tax/us/test/test-load-tax-us-module.scm
+++ b/libgnucash/tax/us/test/test-load-tax-us-module.scm
@@ -2,7 +2,7 @@
 (use-modules (gnucash gnc-module))
 (gnc:module-system-init)
 
-(if (gnc:module-load "gnucash/tax/us" 0)
+(if (gnc:module-load "gnucash/locale/tax" 0)
     (begin 
       (display "ok\n")
       (exit 0))



Summary of changes:
 gnucash/gnome/dialog-tax-info.c                    |   5 ++
 gnucash/report/reports/CMakeLists.txt              |   2 +-
 .../reports/locale-specific/de_DE/taxtxf.scm       |   2 +-
 .../report/reports/locale-specific/us/taxtxf.scm   |   2 +-
 libgnucash/app-utils/gnc-ui-util.c                 |  21 ++----
 libgnucash/tax/CMakeLists.txt                      |  75 ++++++++++++++++++++-
 libgnucash/tax/{us/tax-de_DE.scm => de_DE/tax.scm} |   6 +-
 .../tax/{us => }/de_DE/taxtxf - LIES MICH.txt      |   0
 libgnucash/tax/{us => }/de_DE/txf-USt-Bericht.html |   0
 .../{us => }/de_DE/txf-USt-VA Anleitung 2011.pdf   | Bin
 .../{us/txf-help-de_DE.scm => de_DE/txf-help.scm}  |   0
 libgnucash/tax/{us/txf-de_DE.scm => de_DE/txf.scm} |   0
 .../{us/gncmod-tax-us.c => gncmod-locale-tax.c}    |  39 ++++-------
 libgnucash/tax/test/CMakeLists.txt                 |  22 ++++++
 libgnucash/tax/{us => }/test/test-link-module.c    |   0
 .../test-load-locale-tax-module.scm}               |   4 +-
 libgnucash/tax/us/CMakeLists.txt                   |  70 -------------------
 libgnucash/tax/us/{tax-us.scm => tax.scm}          |   6 +-
 libgnucash/tax/us/test/CMakeLists.txt              |  22 ------
 po/POTFILES.in                                     |  10 +--
 20 files changed, 133 insertions(+), 153 deletions(-)
 rename libgnucash/tax/{us/tax-de_DE.scm => de_DE/tax.scm} (93%)
 rename libgnucash/tax/{us => }/de_DE/taxtxf - LIES MICH.txt (100%)
 rename libgnucash/tax/{us => }/de_DE/txf-USt-Bericht.html (100%)
 rename libgnucash/tax/{us => }/de_DE/txf-USt-VA Anleitung 2011.pdf (100%)
 rename libgnucash/tax/{us/txf-help-de_DE.scm => de_DE/txf-help.scm} (100%)
 rename libgnucash/tax/{us/txf-de_DE.scm => de_DE/txf.scm} (100%)
 rename libgnucash/tax/{us/gncmod-tax-us.c => gncmod-locale-tax.c} (72%)
 create mode 100644 libgnucash/tax/test/CMakeLists.txt
 rename libgnucash/tax/{us => }/test/test-link-module.c (100%)
 rename libgnucash/tax/{us/test/test-load-tax-us-module.scm => test/test-load-locale-tax-module.scm} (62%)
 delete mode 100644 libgnucash/tax/us/CMakeLists.txt
 rename libgnucash/tax/us/{tax-us.scm => tax.scm} (91%)
 delete mode 100644 libgnucash/tax/us/test/CMakeLists.txt



More information about the gnucash-changes mailing list