 /*
 *
 * Copyright (c) 2005
 * Francois Dumont
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

#ifndef _STLP_STLPORT_VERSION_H
#define _STLP_STLPORT_VERSION_H

/* The last SGI STL release we merged with */
#define __SGI_STL 0x330

/* STLport version */
#define _STLPORT_MAJOR 5
#define _STLPORT_MINOR 2
#define _STLPORT_PATCHLEVEL 1

#define _STLPORT_VERSION 0x521

#endif /* _STLP_STLPORT_VERSION_H */
