Import('*') env = env.Clone() env.Replace(CPPDEFINES = [ 'BUILD_GLUT32', 'GLUT_BUILDING_LIB', 'NDEBUG', 'GLUT_NO_WARNING_DISABLE', ]) env.AppendUnique(CPPPATH = [ '#/include', ]) sources = [ 'glut_bitmap.c', 'glut_bwidth.c', 'glut_cindex.c', 'glut_cmap.c', 'glut_cursor.c', 'glut_dials.c', 'glut_dstr.c', 'glut_event.c', 'glut_ext.c', 'glut_fullscrn.c', 'glut_gamemode.c', 'glut_get.c', 'glut_init.c', 'glut_input.c', 'glut_joy.c', 'glut_key.c', 'glut_keyctrl.c', 'glut_keyup.c', 'glut_mesa.c', 'glut_modifier.c', 'glut_overlay.c', 'glut_ppm.c', 'glut_shapes.c', 'glut_space.c', 'glut_stroke.c', 'glut_swap.c', 'glut_swidth.c', 'glut_tablet.c', 'glut_teapot.c', 'glut_util.c', 'glut_vidresize.c', 'glut_warp.c', 'glut_win.c', 'glut_winmisc.c', 'glut_8x13.c', 'glut_9x15.c', 'glut_hel10.c', 'glut_hel12.c', 'glut_hel18.c', 'glut_mroman.c', 'glut_roman.c', 'glut_tr10.c', 'glut_tr24.c', ] if env['platform'] == 'windows': env.PrependUnique(LIBS = [ 'winmm', 'gdi32', 'user32', 'opengl32', 'glu32', ]) target = 'glut32' sources += [ 'win32_glx.c', 'win32_menu.c', 'win32_util.c', 'win32_winproc.c', 'win32_x11.c', 'glut.def', ] else: env.PrependUnique(LIBS = [ 'GLU', 'GL', 'X11', 'Xext', 'Xmu', 'Xi', ]) target = 'glut' sources += [ 'glut_fcb.c', 'glut_menu.c', 'glut_menu2.c', 'glut_glxext.c', 'layerutil.c', ] glut = env.SharedLibrary( target = target, source = sources, ) env.InstallSharedLibrary(glut, version=(3, 7, 1)) if env['platform'] == 'windows': glut = env.FindIxes(glut, 'LIBPREFIX', 'LIBSUFFIX') else: glut = env.FindIxes(glut, 'SHLIBPREFIX', 'SHLIBSUFFIX') Export('glut')