#!/bin/sh
#
# This file is part of crossroad.
# Copyright (C) 2013 Jehan <jehan at girinstud.io>
#
# crossroad is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# crossroad is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with crossroad.  If not, see <http://www.gnu.org/licenses/>.

# Reset pkg-config to search *ONLY* libraries compiled for the cross-compiled platform target.
export PKG_CONFIG_LIBDIR=$CROSSROAD_PREFIX/share/pkgconfig:$CROSSROAD_PREFIX/lib/pkgconfig
# Using the same base for PKG_CONFIG_LIBDIR and PKG_CONFIG_PATH as new
# pkgconf does not like empty PKG_CONFIG_LIBDIR (and consider it as
# unset, which will search for system libs!).
export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR

case "$CROSSROAD_HOST" in
  "x86_64-w64-mingw32")
    if [ -d "$CROSSROAD_CUSTOM_MINGW_W64_PREFIX" ]; then
        export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_CUSTOM_MINGW_W64_PREFIX/lib64/pkgconfig:$CROSSROAD_CUSTOM_MINGW_W64_PREFIX/lib/pkgconfig"
    fi
    if [ -d "$CROSSROAD_GUESSED_MINGW_PREFIX" ]; then
        export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_GUESSED_MINGW_PREFIX/lib64/pkgconfig:$CROSSROAD_GUESSED_MINGW_PREFIX/lib/pkgconfig"
    fi
  ;;
  "i686-w64-mingw32")
    if [ -d "$CROSSROAD_CUSTOM_MINGW_W32_PREFIX" ]; then
        export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_CUSTOM_MINGW_W64_PREFIX/lib32/pkgconfig:$CROSSROAD_CUSTOM_MINGW_W64_PREFIX/lib/pkgconfig"
    fi
    if [ -d "$CROSSROAD_GUESSED_MINGW_PREFIX" ]; then
        export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_GUESSED_MINGW_PREFIX/lib32/pkgconfig:$CROSSROAD_GUESSED_MINGW_PREFIX/lib/pkgconfig"
    fi
  ;;
  *"linux-android"*)
    if [ -d "$CROSSROAD_ANDROID_PREFIX" ]; then
      export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_ANDROID_PREFIX/lib/pkgconfig"
      if [ -n "$CROSSROAD_WORD_SIZE" ]; then
          export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_ANDROID_PREFIX/lib${CROSSROAD_WORD_SIZE}/pkgconfig"
      fi
    fi
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_PREFIX/usr/lib/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_PREFIX/usr/share/pkgconfig"
    if [ -n "$CROSSROAD_WORD_SIZE" ]; then
        export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$CROSSROAD_PREFIX/usr/lib${CROSSROAD_WORD_SIZE}/pkgconfig"
    fi
  ;;
esac

if [ "$CROSSROAD_HOST" = "x86_64-w64-mingw32" -o \
     "$CROSSROAD_HOST" = "i686-w64-mingw32" ]; then
  sysroot="`${CROSSROAD_HOST}-gcc -print-sysroot`"
  if [ -n "$sysroot" ]; then
    if [ -d "${sysroot}/mingw/lib/pkgconfig" ]; then
      export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${sysroot}/mingw/lib/pkgconfig"
    fi
    if [ -d "${sysroot}/mingw/share/pkgconfig" ]; then
      export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${sysroot}/mingw/share/pkgconfig"
    fi
  fi
fi

# Some common system paths.
if [ -n "$CROSSROAD_WORD_SIZE" ]; then
    export PKG_CONFIG_PATH="$CROSSROAD_PREFIX/lib${CROSSROAD_WORD_SIZE}/pkgconfig:$PKG_CONFIG_PATH"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/$CROSSROAD_HOST/lib${CROSSROAD_WORD_SIZE}/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/$CROSSROAD_HOST/lib${CROSSROAD_WORD_SIZE}/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib${CROSSROAD_WORD_SIZE}/$CROSSROAD_HOST/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib${CROSSROAD_WORD_SIZE}/$CROSSROAD_HOST/pkgconfig"
fi
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/$CROSSROAD_HOST/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/$CROSSROAD_HOST/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/$CROSSROAD_HOST/share/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/$CROSSROAD_HOST/share/pkgconfig"
# I never saw mingw installed to such prefixes, but I saw this in a third-party script.
# I imagine it is possible there are such installations.
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/$CROSSROAD_HOST/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/$CROSSROAD_HOST/pkgconfig"
#export PKG_CONFIG_SYSROOT_DIR="$CROSSROAD_PREFIX"

if [ -n "$CROSSROAD_PKG_CONFIG_PATH" ]; then
    export PKG_CONFIG_PATH="$CROSSROAD_PKG_CONFIG_PATH:PKG_CONFIG_PATH"
fi

pkg-config "$@"
