;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; LUSH Lisp Universal Shell
;;;   Copyright (C) 2002 Leon Bottou, Yann Le Cun, AT&T Corp, NECI.
;;; Includes parts of TL3:
;;;   Copyright (C) 1987-1999 Leon Bottou and Neuristique.
;;; Includes selected parts of SN3.2:
;;;   Copyright (C) 1991-2001 AT&T Corp.
;;;
;;; This program is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; This program 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 General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; $Id: ffmpeg-config.lsh,v 1.4 2006/04/10 22:19:22 leonb Exp $
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defvar ffmpeg-libs ())
(defvar ffmpeg-cflags ())

(when (not ffmpeg-libs)
  (let ((soregex (concat ".*\\." (or (getconf "SOEXT") "so") "[0-9.]*"))
        (soonly t) )
    (let ((lib (find-shared-or-static-library "libavformat")))
      (if (and lib (filep lib))
          (progn 
            (setq ffmpeg-libs (nconc1 ffmpeg-libs lib))
            (setq soonly (and solonly (regex-match soregex lib))) )
        (printf "libavformat.so could not be found.\n")
        (printf "please make sure ffmpeg is installed.\n")
        (printf "Both the library and the development packages are needed.\n")
        (printf "(see %s for more details)\n" file-being-loaded)
        (error "cannot configure FFMPEG") ) )
    (let ((lib (find-shared-or-static-library "libavcodec")))
      (if (and lib (filep lib))
          (progn
            (setq ffmpeg-libs (nconc1 ffmpeg-libs lib))
            (setq soonly (and solonly (regex-match soregex lib))) )
        (printf "libavcodec.so could not be found.\n")
        (printf "please make sure ffmpeg is installed.\n")
        (printf "Both the library and the development packages are needed.\n")
        (printf "(see %s for more details)\n" file-being-loaded)
        (error "cannot configure FFMPEG") ) )
    (let ((lib (find-shared-or-static-library "libavutil")))
      (if (and lib (filep lib))
          (progn 
            (setq ffmpeg-libs (nconc1 ffmpeg-libs lib))
            (setq soonly (and solonly (regex-match soregex lib))) )
        (printf "libavutil.so could not be found.\n")
        (printf "please make sure ffmpeg is installed.\n")
        (printf "Both the library and the development packages are needed.\n")
        (printf "(see %s for more details)\n" file-being-loaded)
        (error "cannot configure FFMPEG") ) )
    (when (not soonly)
      (each ((libname '("libdts" "libz" "libogg" "libvorbisenc"
                        "libvorbis" "libtheora" "libgsm" 
                        "libdc1394" "libdc1394_control" "libraw1394"
                        ) ))
        (let ((lib (find-shared-or-static-library libname)))
          (when lib (setq ffmpeg-libs (nconc1 ffmpeg-libs lib))) ) ) ) ) )


(when (not ffmpeg-cflags)
  (setq ffmpeg-cflags "")
  (when (not (find-c-include "ffmpeg/avcodec.h"))
    (printf "ffmpeg/avcodec.h could not be found.\n")
    (printf "please make sure ffmpeg-devel is installed.\n")
    (printf "Both the library and the development packages are needed.\n")
    (printf "(see %s for more details)\n" file-being-loaded)
    (error "cannot configure FFMPEG") )
  (when (not (find-c-include "ffmpeg/avformat.h"))
    (printf "ffmpeg/avformat.h could not be found.\n")
    (printf "please make sure ffmpeg-devel is installed.\n")
    (printf "Both the library and the development packages are needed.\n")
    (printf "(see %s for more details)\n" file-being-loaded)
    (error "cannot configure FFMPEG") ) )

  