$NetBSD: patch-aa,v 1.8 2013/07/05 13:33:40 ryoon Exp $

* Add DragonFly
* Fix giflib 5.0 build.

--- configure.ac.orig	2013-03-05 08:24:59.000000000 +0000
+++ configure.ac
@@ -476,6 +476,14 @@ case "${canonical}" in
   powerpc-ibm-aix[56]*  )
     opsys=aix4-2
   ;;
+  ## DragonFly ports
+  *-*-dragonfly*)
+    opsys=dragonfly
+    case "${canonical}" in
+      i[3456]86-*-dragonfly*)     machine=intel386 ;;
+      amd64-*-dragonfly*|x86_64-*-dragonfly*) machine=amdx86-64 ;;
+    esac
+  ;;
 
   ## Silicon Graphics machines
   ## Iris 4D
@@ -906,7 +914,7 @@ esac
 
 LD_SWITCH_SYSTEM=
 case "$opsys" in
-  freebsd)
+  dragonfly|freebsd)
    ## Let `ld' find image libs and similar things in /usr/local/lib.
    ## The system compiler, GCC, has apparently been modified to not
    ## look there, contrary to what a stock GCC would do.
@@ -992,7 +1000,7 @@ case "$opsys" in
   ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2.
   aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;;
 
-  freebsd) LIBS_SYSTEM="-lutil" ;;
+  freebsd|netbsd|openbsd|dragonfly) LIBS_SYSTEM="-lutil" ;;
 
   hpux*) LIBS_SYSTEM="-l:libdld.sl" ;;
 
@@ -1038,6 +1046,11 @@ case $opsys in
     LIB_MATH=
     START_FILES='pre-crt0.o'
     ;;
+  dragonfly )
+    # This base version is appended below
+    LIB_STANDARD='-lc $(CRT_DIR)/crtn.o'
+    START_FILES='$(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o'
+    ;;
   freebsd )
     LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtn.o'
     START_FILES='pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o'
@@ -1143,6 +1156,28 @@ fi                              # crt_fi
 AC_SUBST(CRT_DIR)
 
 case $opsys in
+  dragonfly )
+    if test "x${GCC}" = xyes ; then
+      libgcc_file=`$CC --print-libgcc-file-name 2>/dev/null`
+      case "$libgcc_file" in
+         */*)
+           crt_gcc_subdir=`AS_DIRNAME(["$libgcc_file"])`
+           ;;
+         *)
+           AC_MSG_ERROR([Cannot determine CRT $CC subdirectory.]) 
+           ;;
+      esac
+      for f in crtbegin.o crtend.o; do
+        if test ! -f $crt_gcc_subdir/$f; then
+          AC_MSG_ERROR([Required file not found: $f])
+        fi
+      done
+      LIB_STANDARD="$crt_gcc_subdir/crtend.o $LIB_STANDARD"
+      START_FILES="$START_FILES $crt_gcc_subdir/crtbegin.o"
+    else
+      AC_MSG_WARN([Correct CRT file list unknown for ${CC}.])
+    fi 
+    ;;
   netbsd | openbsd )
     if test -f $CRT_DIR/crti.o; then
 
@@ -2661,7 +2696,8 @@ if test "${HAVE_X11}" = "yes" && test "$
   AC_CHECK_HEADER(gif_lib.h,
 # EGifPutExtensionLast only exists from version libungif-4.1.0b1.
 # Earlier versions can crash Emacs.
-    [AC_CHECK_LIB(gif, EGifPutExtensionLast, HAVE_GIF=yes, HAVE_GIF=maybe)])
+# EGifPutExtensionLast) has been deprecated in giflib 5.0.0 or later.
+    [AC_CHECK_LIB(gif, EGifPutExtensionTrailer, HAVE_GIF=yes, HAVE_GIF=maybe)])
 
   if test "$HAVE_GIF" = yes; then
     LIBGIF=-lgif
@@ -2834,7 +2870,7 @@ mail_lock=no
 case "$opsys" in
   aix4-2) mail_lock="lockf" ;;
 
-  gnu|freebsd|netbsd|openbsd|darwin|irix6-5) mail_lock="flock" ;;
+  gnu|dragonfly|freebsd|netbsd|openbsd|darwin|irix6-5) mail_lock="flock" ;;
 
   ## On GNU/Linux systems, both methods are used by various mail programs.
   ## I assume most people are using newer mailers that have heard of flock.
@@ -2988,6 +3024,11 @@ case "$opsys" in
   ##  option to use it.
   darwin) LIBS_TERMCAP="-lncurses" ;;
 
+  dragonfly)
+    TERMINFO=yes
+    LIBS_TERMCAP="-lncurses"
+    ;;
+
   gnu*) test -z "$LIBS_TERMCAP" && LIBS_TERMCAP="-lncurses" ;;
 
   freebsd)
@@ -3439,7 +3480,7 @@ case $opsys in
 esac
 
 case $opsys in
-  darwin | freebsd | netbsd | openbsd )
+  darwin | dragonfly | freebsd | netbsd | openbsd )
     AC_DEFINE(DONT_REOPEN_PTY, 1, [Define if process.c does not need to
       close a pty to make it a controlling terminal (it is already a
       controlling terminal of the subprocess, because we did ioctl TIOCSCTTY).])
@@ -3545,7 +3586,7 @@ case $opsys in
     AC_DEFINE(FIRST_PTY_LETTER, ['p'])
     ;;
 
-  gnu-linux | gnu-kfreebsd | freebsd | netbsd )
+  gnu-linux | gnu-kfreebsd | dragonfly | freebsd | netbsd )
     dnl if HAVE_GRANTPT
     if test "x$ac_cv_func_grantpt" = xyes; then
       AC_DEFINE(UNIX98_PTYS, 1, [Define if the system has Unix98 PTYs.])
@@ -3628,7 +3669,7 @@ AH_TEMPLATE(SIGNALS_VIA_CHARACTERS, [Mak
 case $opsys in
   dnl Perry Smith <pedz@ddivt1.austin.ibm.com> says this is correct for AIX.
   dnl thomas@mathematik.uni-bremen.de says this is needed for IRIX.
-  aix4-2 | cygwin | gnu | irix6-5 | freebsd | netbsd | openbsd | darwin )
+  aix4-2 | cygwin | gnu | irix6-5 | dragonfly | freebsd | netbsd | openbsd | darwin )
     AC_DEFINE(SIGNALS_VIA_CHARACTERS, 1)
     ;;
 
@@ -3725,6 +3766,10 @@ else                            dnl !ema
       AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->_p - (FILE)->_bf._base)])
       ;;
 
+    dragonfly)
+      AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [__fpending (FILE)])
+      ;;
+
     unixware)
       AC_DEFINE(PENDING_OUTPUT_COUNT(FILE), [((FILE)->__ptr - (FILE)->__base)])
       ;;
@@ -3782,7 +3827,7 @@ AH_TEMPLATE(TAB3, [Undocumented.])
 case $opsys in
   darwin) AC_DEFINE(TAB3, OXTABS) ;;
 
-  gnu | freebsd | netbsd | openbsd )
+  gnu | dragonfly | freebsd | netbsd | openbsd )
     AC_DEFINE(TABDLY, OXTABS, [Undocumented.])
     AC_DEFINE(TAB3, OXTABS)
     ;;
@@ -3859,7 +3904,7 @@ if test x$GCC = xyes; then
 else
   case $opsys in
     dnl irix: Tested on Irix 6.5.  SCM worked on earlier versions.
-    freebsd | netbsd | openbsd | irix6-5 | sol2* )
+    dragonfly | freebsd | netbsd | openbsd | irix6-5 | sol2* )
       AC_DEFINE(GC_SETJMP_WORKS, 1)
       ;;
   esac
@@ -3959,7 +4004,7 @@ case $opsys in
     AC_DEFINE(BSD_SYSTEM_AHB, 1, [Define if AH_BOTTOM should change BSD_SYSTEM.])
     ;;
 
-  gnu | netbsd | openbsd )
+  gnu | dragonfly | netbsd | openbsd )
     AC_DEFINE(BSD4_2, [])
     AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
 #ifndef BSD_SYSTEM
@@ -4415,7 +4460,7 @@ LIB_GCC=
 if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then
 
   case "$opsys" in
-    freebsd|netbsd|openbsd) LIB_GCC= ;;
+    dragonfly|freebsd|netbsd|openbsd) LIB_GCC= ;;
 
     gnu-*)
       ## armin76@gentoo.org reported that the lgcc_s flag is necessary to
