#!/bin/sh

prefix=/usr/openwin
exec_prefix=/usr/openwin
exec_prefix_set=no

usage()
{
	cat <<EOF
Usage: mozilla-config [OPTIONS] [LIBRARIES]
Options:
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--version]
	[--defines]
	[--libs] [libraries]
	[--cflags] [components]
Components:
    *
Libraries:
    xpcom
    nspr
    js
    jsj
    gfx
EOF
	exit $1
}

if test $# -eq 0; then
	usage 1 1>&2
fi

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --prefix=*)
      prefix=$optarg
      if test $exec_prefix_set = no ; then
        exec_prefix=$optarg
      fi
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      exec_prefix_set=yes
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --version)
      echo 1.3
      exit 0
      ;;
    --cflags)
      if test "/usr/openwin/include/mozilla-1.3" != /usr/include ; then
        includes="-I/usr/openwin/include/mozilla-1.3"
      fi
      echo_cflags=yes
      ;;
    --defines)
      echo_defines=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    xpcom|js|nspr|gfx|jsj)
      echo_components="$echo_components $1"
      echo_libraries="$echo_libraries $1"
      ;;
    xpconnect)
      echo_components="$echo_components $1"
      ;;
    "")
      usage 1 1>&2
      ;;
    *)
      echo_components="$echo_components $1"
      ;;
  esac
  shift
done

if test "$echo_prefix" = "yes"; then
	echo $prefix
fi
if test "$echo_exec_prefix" = "yes"; then
	echo $exec_prefix
fi

if test "$echo_defines" = "yes"; then
    echo -DSOLARIS=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_BYTEORDER_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DHAVE_SYS_MOUNT_H=1 -DNEW_H=\<new\> -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_STATVFS=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_NL_LANGINFO=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_ICONV=1 -DHAVE_ICONV_WITH_CONST_INPUT=1 -DHAVE_IOS_BINARY=1 -DHAVE_IOS_BIN=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_SPECIALIZATION=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_EXTERN_INSTANTIATION=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DHAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_DEFAULT_TOOLKIT=\"gtk\" -DMOZ_WIDGET_GTK=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_X11=1 -DMOZ_ENABLE_COREXFONTS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DMOZ_MATHML=1 -DMOZ_SVG=1 -DMOZ_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DCPP_THROW_NEW=throw\(\) -DMOZ_XUL=1 -DINCLUDE_XUL=1 -DNS_MT_SUPPORTED=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DNS_PRINT_PREVIEW=1 -DNS_PRINTING=1 -DMOZILLA_VERSION=\"1.3\" 
fi

if test "$echo_cflags" = "yes"; then
    nspr_cflags="-I/usr/openwin/include/mozilla-1.3/nspr"
    for n in $echo_components; do
	component_includes="$component_includes -I/usr/openwin/include/mozilla-1.3/$n"
    done
    echo $component_includes $includes $nspr_cflags
fi

_nspr_libs="-L/usr/openwin/lib/mozilla-1.3 -lplds4 -lplc4 -lnspr4 -L/usr/pkg/lib -L/usr/openwin/lib/mozilla-1.3 -ldl -lrt"
_xpcom_libs="-lxpcom $_nspr_libs"
_js_libs="-ljs"

if test "$echo_libs" = "yes"; then
    for l in $echo_libraries; do
	case "$l" in
	gfx) 
	    libs="$libs -lgkgfx $_xpcom_libs"
	    ;;
	xpcom)
	    libs="$libs $_xpcom_libs"
	    ;;
	nspr)
	    libs="$libs $_nspr_libs"
	    ;;
	js)
	    libs="$libs $_js_libs"
	    ;;
	jsj)
	    libs="$libs -ljsj $_js_libs $_xpcom_libs"
	    ;;
        esac
    done
    echo -L/usr/openwin/lib/mozilla-1.3 $libs
fi
