File blop-shlib.diff of Package ladspa

---
 src/Makefile.am            |    5 +++--
 src/adsr_1653.so.c         |    5 +++--
 src/adsr_1680.so.c         |    6 ++++--
 src/amp_1654.so.c          |    4 ++--
 src/branch_1673.so.c       |    5 +++--
 src/dahdsr_2021.so.c       |    4 ++--
 src/difference_2030.so.c   |    4 ++--
 src/fmod_1656.so.c         |    4 ++--
 src/interpolator_1660.so.c |    4 ++--
 src/lp4pole_1671.so.c      |    4 ++--
 src/product_1668.so.c      |    4 ++--
 src/pulse_1645.so.c        |    4 ++--
 src/quantiser.so.c         |    4 ++--
 src/random_1661.so.c       |    4 ++--
 src/ratio_2034.so.c        |    4 ++--
 src/sawtooth_1641.so.c     |    4 ++--
 src/sequencer.so.c         |    4 ++--
 src/square_1643.so.c       |    4 ++--
 src/sum_1665.so.c          |    4 ++--
 src/sync_pulse_2023.so.c   |    4 ++--
 src/sync_square_1678.so.c  |    4 ++--
 src/tracker_2025.so.c      |    4 ++--
 src/triangle_1649.so.c     |    4 ++--
 src/wdatutil.c             |    2 +-
 24 files changed, 52 insertions(+), 47 deletions(-)

--- src/Makefile.am.orig
+++ src/Makefile.am
@@ -3,7 +3,7 @@
 SUBDIRS = include
 AM_CPPFLAGS = -I$(ladspa_prefix)/include -Iinclude -I. \
               -DLOCALEDIR=\"$(datadir)/locale\"
-LINK = $(COMPILE) -nostartfiles -shared -lc -o $@
+LINK = $(COMPILE) -shared -o $@
 CLEANFILES = parabola_1649_data.so.c \
              sawtooth_1641_data.so.c \
              square_1643_data.so.c
@@ -33,7 +33,8 @@
 noinst_PROGRAMS = wavegen
 wavegen_SOURCES = wavegen.c wdatutil.c
 wavegen_DEPENDENCIES = include/wdatutil.h include/common.h
-wavegen_LINK = $(COMPILE) -lc -lm -o $@
+wavegen_LINK = $(COMPILE) -o $@
+wavegen_LDADD = -lm
 
 ## Need to specify sources so that make dist will include them
 lp4pole_1671_so_SOURCES = lp4pole_1671.so.c lp4pole_filter.c
--- src/adsr_1653.so.c.orig
+++ src/adsr_1653.so.c
@@ -278,7 +278,8 @@
 	plugin->samples = samples;
 }
 
-void _init()
+static void __attribute__ ((constructor))
+_init()
 {
 	char ** port_names;
 	LADSPA_PortDescriptor * port_descriptors;
@@ -385,7 +386,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini ()
 {
 	LADSPA_Descriptor * descriptor;
--- src/adsr_1680.so.c.orig
+++ src/adsr_1680.so.c
@@ -281,7 +281,8 @@
 	plugin->samples = samples;
 }
 
-void _init()
+static void __attribute__ ((constructor))
+_init()
 {
     char **port_names;
     LADSPA_PortDescriptor *port_descriptors;
@@ -385,7 +386,8 @@
     }
 }
 
-void _fini()
+static void __attribute__ ((destructor))
+_fini()
 {
     LADSPA_Descriptor * descriptor;
     int i;
--- src/amp_1654.so.c.orig
+++ src/amp_1654.so.c
@@ -150,7 +150,7 @@
 	}
 }
 
-void
+static void __attribute__ ((constructor))
 _init ()
 {
 	static const char * labels[] = {"amp_gaia_oa",
@@ -238,7 +238,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini ()
 {
 	LADSPA_Descriptor * descriptor;
--- src/branch_1673.so.c.orig
+++ src/branch_1673.so.c
@@ -137,7 +137,8 @@
 	output2[0] = input;
 }
 
-void _init()
+static void __attribute__ ((constructor))
+_init()
 {
 	static const char * labels[] = {"branch_ia_oaoa",
 	                                "branch_ic_ococ"};
@@ -222,7 +223,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini ()
 {
 	LADSPA_Descriptor * descriptor;
--- src/dahdsr_2021.so.c.orig
+++ src/dahdsr_2021.so.c
@@ -746,7 +746,7 @@
 	plugin->samples = samples;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const unsigned long ids[] = {2021, 2022, 2038};
@@ -895,7 +895,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/difference_2030.so.c.orig
+++ src/difference_2030.so.c
@@ -190,7 +190,7 @@
 	output[0] = input - minus;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"difference_iama_oa",
@@ -287,7 +287,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/fmod_1656.so.c.orig
+++ src/fmod_1656.so.c
@@ -201,7 +201,7 @@
 	output[0] = scale * frequency;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"fmod_fama_oa",
@@ -302,7 +302,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/interpolator_1660.so.c.orig
+++ src/interpolator_1660.so.c
@@ -154,7 +154,7 @@
 	plugin->p0 = input;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	char ** port_names;
@@ -226,7 +226,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor *descriptor;
--- src/lp4pole_1671.so.c.orig
+++ src/lp4pole_1671.so.c
@@ -197,7 +197,7 @@
 	}
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"lp4pole_faraia_oa",
@@ -297,7 +297,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor *descriptor;
--- src/product_1668.so.c.orig
+++ src/product_1668.so.c
@@ -163,7 +163,7 @@
 	output[0] = input1 * input2;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"product_iaia_oa",
@@ -254,7 +254,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/pulse_1645.so.c.orig
+++ src/pulse_1645.so.c
@@ -303,7 +303,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"pulse_fapa_oa",
@@ -408,7 +408,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/quantiser.so.c.orig
+++ src/quantiser.so.c
@@ -544,7 +544,7 @@
 	plugin->last_found = last_found;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 /* !!!! Ensure there is space for possible translations !!!! */
@@ -679,7 +679,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/random_1661.so.c.orig
+++ src/random_1661.so.c
@@ -359,7 +359,7 @@
 	plugin->value2 = value2;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"random_fasa_oa",
@@ -464,7 +464,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/ratio_2034.so.c.orig
+++ src/ratio_2034.so.c
@@ -199,7 +199,7 @@
 	output[0] = numerator / denominator;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"ratio_nada_oa",
@@ -296,7 +296,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/sawtooth_1641.so.c.orig
+++ src/sawtooth_1641.so.c
@@ -183,7 +183,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"sawtooth_fa_oa",
@@ -266,7 +266,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/sequencer.so.c.orig
+++ src/sequencer.so.c
@@ -226,7 +226,7 @@
 	plugin->step_index = step_index;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 /* !!!! Ensure there is space for possible translations !!!! */
@@ -342,7 +342,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/square_1643.so.c.orig
+++ src/square_1643.so.c
@@ -185,7 +185,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"square_fa_oa",
@@ -268,7 +268,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/sum_1665.so.c.orig
+++ src/sum_1665.so.c
@@ -163,7 +163,7 @@
 	output[0] = input1 + input2;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"sum_iaia_oa",
@@ -254,7 +254,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/sync_pulse_2023.so.c.orig
+++ src/sync_pulse_2023.so.c
@@ -223,7 +223,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"syncpulse_fapaga_oa",
@@ -321,7 +321,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/sync_square_1678.so.c.orig
+++ src/sync_square_1678.so.c
@@ -208,7 +208,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"syncsquare_faga_oa",
@@ -297,7 +297,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/tracker_2025.so.c.orig
+++ src/tracker_2025.so.c
@@ -234,7 +234,7 @@
 	plugin->last_value = last_value;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"tracker_gaaadaia_oa",
@@ -364,7 +364,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/triangle_1649.so.c.orig
+++ src/triangle_1649.so.c
@@ -322,7 +322,7 @@
 	plugin->phase = phase;
 }
 
-void
+static void __attribute__ ((constructor))
 _init (void)
 {
 	static const char * labels[] = {"triangle_fasa_oa",
@@ -427,7 +427,7 @@
 	}
 }
 
-void
+static void __attribute__ ((destructor))
 _fini (void)
 {
 	LADSPA_Descriptor * descriptor;
--- src/wdatutil.c.orig
+++ src/wdatutil.c
@@ -411,7 +411,7 @@
  * _init()
  * Assemble tables and lookup
  */
-	fprintf (wdat_fp, "void\n");
+	fprintf (wdat_fp, "static void __attribute__ ((constructor))\n");
 	fprintf (wdat_fp, "_init (void)\n");
 	fprintf (wdat_fp, "{\n");
 	fprintf (wdat_fp, "\tunsigned long max_harmonic;\n");