diff -ruN GtkAda.orig/src/gtkada_src.gpr GtkAda/src/gtkada_src.gpr
--- GtkAda.orig/src/gtkada_src.gpr	2013-11-07 16:59:49.000000000 +0800
+++ GtkAda/src/gtkada_src.gpr	2018-08-04 08:21:55.188012200 +0800
@@ -2,7 +2,7 @@
 with "gtkextra/gtkextra";
 
 project GtkAda_Src is
-   for Languages use ("C", "Ada", "Objective-C");
+   for Languages use ("C", "Ada");
 
    --  Put "generated" first, so that files are preferably taken from there
    --  even if they still exist in "."
diff -ruN GtkAda.orig/Makefile.in GtkAda/Makefile.in
--- GtkAda.orig/Makefile.in	2013-05-16 22:48:57.000000000 +0800
+++ GtkAda/Makefile.in	2018-08-04 08:10:28.815418400 +0800
@@ -3,27 +3,26 @@
 .SUFFIXES:
 .PHONY: clean-generic mostlyclean-generic \
 	clean distclean mostlyclean maintainer-clean \
-	install src tests
+	install src
 
 src_dir     = src
-testgtk_dir = testgtk
 doc_dir     = docs
 example_dir = examples
 projects_dir = projects
 xml_dir      = xml
 
-all: src tests
+all: src
 
 src:
 	$(MAKE) -C $(src_dir)
 
-tests: src
-	$(MAKE) -C $(testgtk_dir)
+#tests: src
+#	$(MAKE) -C $(testgtk_dir)
 
 install: 
 	$(MAKE) -C $(src_dir) install
 	$(MAKE) -C $(projects_dir) install
-	$(MAKE) -C $(testgtk_dir) install
+	#$(MAKE) -C $(testgtk_dir) install
 	$(MAKE) -C $(doc_dir) install
 	#$(MAKE) -C $(example_dir) install
 	$(MAKE) -C $(xml_dir) install
@@ -62,23 +61,23 @@
 	-${RM} Makefile
 
 clean: clean-generic
-	-$(MAKE) -C $(testgtk_dir) clean
+	#-$(MAKE) -C $(testgtk_dir) clean
 	#-$(MAKE) -C $(example_dir) clean
 	-$(MAKE) -C $(src_dir) clean
 
 distclean: mostlyclean-generic
 	-${RM} config.cache config.log config.status
-	-$(MAKE) -C $(testgtk_dir) distclean
+	#-$(MAKE) -C $(testgtk_dir) distclean
 	-$(MAKE) -C $(src_dir) distclean
 
 mostlyclean: mostlyclean-generic
-	-$(MAKE) -C $(testgtk_dir) mostlyclean
+	#-$(MAKE) -C $(testgtk_dir) mostlyclean
 	-$(MAKE) -C $(src_dir) mostlyclean
 
 maintainer-clean: mostlyclean-generic
 	-${RM} config.cache config.log config.status
 	-${RM} configure
-	-$(MAKE) -C $(testgtk_dir) maintainer-clean
+	#-$(MAKE) -C $(testgtk_dir) maintainer-clean
 	-$(MAKE) -C $(src_dir) maintainer-clean
 
 force:
diff -ruN GtkAda.orig/src/Makefile.common.in GtkAda/src/Makefile.common.in
--- GtkAda.orig/src/Makefile.common.in	2014-05-03 11:38:47.694069700 +0200
+++ GtkAda/src/Makefile.common.in	2014-06-15 12:30:09.375825900 +0200
@@ -24,15 +24,19 @@ HAVE_GTKEXTRA = @HAVE_GTKEXTRA@
 BUILD_TYPE      = @BUILD_TYPE@
 DEFAULT_LIBRARY_TYPE=@DEFAULT_LIBRARY_TYPE@
 
-GPR_BUILD=-XBUILD=${BUILD_TYPE} -XOPENGL=${HAVE_OPENGL} -XEXTRA=${HAVE_GTKEXTRA}
+GPR_BUILD=-XBUILD=${BUILD_TYPE} -XOPENGL=${HAVE_OPENGL} -XEXTRA=${HAVE_GTKEXTRA} -cargs:C ${CFLAGS} ${LDFLAGS}
 
 CP = cp -p -f
 ifeq ($(OS),Windows_NT)
-   LN=$(CP)
+   LN=ln -f
    EXEEXT=.exe
+   SOIMPLIB=$(shell basename $(LIBNAME)).a
+   LDSOIMPLIB=-Wl,--out-implib,$(SOIMPLIB)
 else
    LN=ln -f -s
    EXEEXT=
+   SOIMPLIB=
+   LDSOIMPLIB=
 endif
 
 CHMOD = chmod
@@ -114,8 +118,8 @@ endif
 ${OBJ_DIR}/${SONAME}: ${wildcard ${SRC_FILES:%=${OBJ_DIR}/%}}
 	@echo Building ${SONAME}
 	@cd ${OBJ_DIR}; $(CC) -shared $(FPIC) $(OS_SPECIFIC_LINK_OPTIONS) \
-	  -o $(SONAME) $(SO_OPTS)$(SONAME) ${LDFLAGS} ${SRC_FILES} \
-          $(GTKADA_LIBS) $(GTK_LIBS) $(EXTERNAL_LIBS)
+	  -o $(SONAME) $(SO_OPTS)$(SONAME) $(LDSOIMPLIB) ${LDFLAGS} \
+	  ${CFLAGS} ${SRC_FILES} $(GTKADA_LIBS) $(GTK_LIBS) $(EXTERNAL_LIBS)
 	@cd ${OBJ_DIR}; $(RM) $(LIBNAME)
 	@cd ${OBJ_DIR}; $(LN) $(SONAME) $(LIBNAME)
 	@cd ${OBJ_DIR}; ${CHMOD} +x ${LIBNAME}
diff -ruN GtkAda.orig/src/Makefile.in GtkAda/src/Makefile.in
--- GtkAda.orig/src/Makefile.in	2014-05-03 11:38:38.646129600 +0200
+++ GtkAda/src/Makefile.in	2014-06-15 12:29:06.916570100 +0200
@@ -58,6 +58,7 @@
 INSTALL_SCRIPT  = @INSTALL_SCRIPT@
 
 ## General and public targets
+prep: dirs ada ${c_objects_dir}
 
 libs: ada ${c_objects_dir} $(objc_objects_dir)
 ifeq ($(BUILD_SHARED),yes)
@@ -106,6 +107,7 @@
 		if [ "$(OS)" = "Windows_NT" ]; then \
 		     $(INSTALL_DATA) ${OBJ_DIR}/$(SONAME) "${DESTDIR}$(bindir)"; \
 		     $(CHMOD) +x "${DESTDIR}$(bindir)/$(SONAME)"; \
+		     $(INSTALL_DATA) ${OBJ_DIR}/$(SOIMPLIB) "${DESTDIR}$(libdir)"; \
 		else \
 	             $(INSTALL_PROGRAM) ${OBJ_DIR}/$(SONAME) "${DESTDIR}$(alidir)/relocatable"; \
 		     $(RM) "${DESTDIR}$(libdir)/$(LIBNAME)"; \
diff -ruN GtkAda.orig/src/opengl/Makefile.in GtkAda/src/opengl/Makefile.in
--- GtkAda.orig/src/opengl/Makefile.in	2014-05-03 11:38:12.905029300 +0200
+++ GtkAda/src/opengl/Makefile.in	2014-06-15 12:29:06.921560000 +0200
@@ -10,11 +10,8 @@
 OPENGL_OBJECTS   = gtk-glarea.o gdk-gl.o glu_h.o gl_h.o
 OPENGL_C_OBJECTS = gtkglarea.o gdkgl.o
 OPENGL_C_OBJECTS_DIR = ${OPENGL_C_OBJECTS:%=${OBJ_DIR}/%}
-ifeq ($(OS),Windows_NT)
-    GTKADA_LIBS  = ../../lib-obj/libgtkada.dll
-else
-    GTKADA_LIBS  = -L../../lib-obj -lgtkada  # relative to OBJ_DIR
-endif
+GTKADA_LIBS  = -L../../lib-obj -lgtkada  # relative to OBJ_DIR
+
 EXTERNAL_LIBS    = @GL_LIBS@
 OPENGL_FLAGS     = @GL_CFLAGS@
 GPRFILE          = opengl
diff -ruN GtkAda.orig/src/tools/gtkada-config.in GtkAda/src/tools/gtkada-config.in
--- GtkAda.orig/src/tools/gtkada-config.in	2014-05-03 11:38:11.999768500 +0200
+++ GtkAda/src/tools/gtkada-config.in	2014-06-15 12:29:06.925555600 +0200
@@ -9,7 +9,7 @@
 
 # OS Specific relocatable settings
 if [ "$OS" = "Windows_NT" ]; then
-    os_reloc="-L${prefix}/bin -lgtkada-@GTKADA_MAJOR_VERSION@.@GTKADA_MINOR_VERSION@"
+    os_reloc="-L${prefix}/lib -lgtkada"
 else
     os_reloc="-L${libdir}/relocatable -lgtkada"
 fi
