if(HOST_WIN32)
###win32_sources = \
###	console-win32.c

###platform_sources = $(win32_sources)

#### Use -m here. This will use / as directory separator (C:/WINNT).
#### The files that use MONO_ASSEMBLIES and/or MONO_CFG_DIR replace the
#### / by \ if running under WIN32.
###if CROSS_COMPILING
###assembliesdir = ${libdir}
###confdir = ${sysconfdir}
###else
###assembliesdir = `cygpath -m "${libdir}"`
###confdir = `cygpath -m "${sysconfdir}"`
###endif
###export HOST_CC
#### The mingw math.h has "extern inline" functions that dont appear in libs, so
#### optimisation is required to actually inline them
###AM_CFLAGS = -O

else()

# FIXME:
set(assembliesdir ${CMAKE_INSTALL_PREFIX}/lib)
set(sysconfdir ${CMAKE_INSTALL_PREFIX}/etc)
set(confdir ${sysconfdir})
###assembliesdir = $(exec_prefix)/lib
###confdir = $(sysconfdir)

set(unix_sources
  console-unix.c)

set(platform_sources ${unix_sources})

endif(HOST_WIN32)

###bin_PROGRAMS = pedump

#
#### libtool is not capable of creating static/shared versions of the same
#### convenience lib, so we have to do it ourselves
#
###noinst_LTLIBRARIES = libmonoruntime.la libmonoruntime-static.la

set(top_srcdir ../../)
INCLUDE_DIRECTORIES(${top_srcdir} ${top_srcdir}/mono ${GLIB2_INCLUDE_DIRS})
ADD_DEFINITIONS("-DMONO_BINDIR=\"${CMAKE_BINARY_DIR}\"")
ADD_DEFINITIONS("-DMONO_ASSEMBLIES=\"${assembliesdir}\"")
ADD_DEFINITIONS("-DMONO_CFG_DIR=\"${confdir}\"")
ADD_DEFINITIONS(${CFLAGS} ${LIBGC_CFLAGS} ${CPPFLAGS})

#
#### Make sure any prefix changes are updated in the binaries too.
#
####  assembly.c uses MONO_ASSEMBLIES
####  mono-config.c uses MONO_CFG_DIR
#
#### This won't result in many more false positives than AC_DEFINEing them
#### in configure.in.
#
###assembly.lo mono-config.lo: Makefile

###CLEANFILES = mono-bundle.stamp

###libmonoruntime_static_la_LIBADD = $(bundle_obj) $(libmonoruntime_la_LIBADD)

set(null_sources
  console-null.c)

set(libmonoruntime_la_SOURCES
	${platform_sources}
	appdomain.c	
	assembly.c	
	attach.h	
	attach.c	
	boehm-gc.c	
	char-conversions.h
	cil-coff.h	
	class.c		
	class-internals.h
	cominterop.c	
	cominterop.h	
	console-io.h	
	coree.c 	
	coree.h 	
	culture-info.h  
	culture-info-tables.h
	debug-helpers.c	
	debug-mono-symfile.h
	debug-mono-symfile.c
	decimal.c	
	decimal.h	
	domain.c	
	domain-internals.h
	environment.c	
	environment.h	
	exception.c	
	exception.h	
	file-io.c	
	file-io.h	
	filewatcher.c	
	filewatcher.h	
	gc.c		
	gc-internal.h	
	generic-sharing.c
	icall.c		
	icall-def.h	
	image.c		
	loader.c	
	locales.c	
	locales.h	
	lock-tracer.c	
	lock-tracer.h	
	marshal.c	
	marshal.h	
	mempool.c	
	mempool-internals.h
	metadata.c	
	metadata-verify.c
	metadata-internals.h
	method-builder.h 
	method-builder.c 
	mono-config.c	
	mono-debug.h	
	mono-debug.c	
	mono-debug-debugger.h
	mono-debug-debugger.c
	mono-endian.c	
	mono-endian.h	
	mono-mlist.c	
	mono-mlist.h	
	mono-perfcounters.c
	mono-perfcounters.h
	mono-perfcounters-def.h
	monitor.c	
	monitor.h	
	normalization-tables.h
	null-gc.c	
	number-formatter.h
	object.c	
	object-internals.h
	opcodes.c	
	socket-io.c	
	socket-io.h	
	process.c	
	process.h	
	profiler.c	
	profiler-private.h
	rand.h		
	rand.c		
	reflection.c	
	security.c	
	security.h	
	security-core-clr.c
	security-core-clr.h
	security-manager.c
	security-manager.h
	sgen-gc.c	
	sgen-gc.h	
	sgen-archdep.h
	sgen-scan-object.h
	string-icalls.c 
	string-icalls.h 
	sysmath.h	
	sysmath.c	
	tabledefs.h 	
	threads.c	
	threads-types.h	
	threadpool.c	
	threadpool.h	
	threadpool-internals.h
	verify.c	
	verify-internals.h
	wrapper-types.h)

set(libmonoruntime_static_la_SOURCES ${libmonoruntime_la_SOURCES})

###libmonoruntimeincludedir = $(includedir)/mono-$(API_VER)/mono/metadata

###libmonoruntimeinclude_HEADERS = \
###	assembly.h		\
###	attrdefs.h		\
###	appdomain.h		\
###	blob.h			\
###	class.h			\
###	debug-helpers.h		\
###	debug-mono-symfile.h	\
###	threads.h		\
###	environment.h		\
###	exception.h		\
###	image.h			\
###	loader.h		\
###	mempool.h		\
###	metadata.h		\
###	mono-config.h		\
###	mono-debug.h		\
###	mono-gc.h		\
###	object.h		\
###	opcodes.h		\
###	profiler.h		\
###	reflection.h		\
###	row-indexes.h		\
###	tokentype.h		\
###	verify.h		

#ADD_LIBRARY(libmonoruntime SHARED ${libmonoruntime_la_SOURCES})

###if DTRACE_G_REQUIRED

###PEDUMP_DTRACE_OBJECT = pedump-dtrace.$(OBJEXT)

###pedump-dtrace.$(OBJEXT): $(top_srcdir)/data/mono.d libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la
###	DTRACE="$(DTRACE)" DTRACEFLAGS="$(DTRACEFLAGS)" AR="$(AR)" $(SHELL) $(top_srcdir)/data/dtrace-prelink.sh \
###	--pic pedump-dtrace.$(OBJEXT) $(top_srcdir)/data/mono.d libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la

###else
###PEDUMP_DTRACE_OBJECT = 
###endif

add_library(monoruntime-static STATIC ${libmonoruntime_static_la_SOURCES})
#add_library(monoruntime SHARED ${libmonoruntime_static_la_SOURCES})
#target_link_libraries(monoruntime wapi monoutils monogc ${GLIB2_LIBRARIES} ${LIBS})

# FIXME:
link_directories(../../libgc/.libs)
add_executable(pedump pedump.c)
target_link_libraries(pedump monoruntime-static wapi monoutils monogc-static ${GLIB2_LIBRARIES} ${LIBS})

###pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
###	$(LIBGC_LIBS) $(GLIB_LIBS) -lm $(PEDUMP_DTRACE_OBJECT)

###EXTRA_DIST = make-bundle.pl sample-bundle $(win32_sources) $(unix_sources) $(null_sources)

