Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit fe924ee

Browse files
devel-chmwchristian
authored andcommitted
Put work on standalone OpenGL::GLUT in git
1 parent 9125886 commit fe924ee

15 files changed

+1860
-6754
lines changed

GLUT.xs

+1,483-41
Large diffs are not rendered by default.

MANIFEST

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
COPYRIGHT
2+
FreeGLUT/README.txt
3+
FreeGLUT/freeglut-Readme.txt
4+
FreeGLUT/freeglut.dll
5+
FreeGLUT/freeglut.lib
6+
GLUT.xs
7+
MANIFEST This list of files
8+
MANIFEST.SKIP
9+
Makefile.PL
10+
gl_util.c
11+
gl_util.h
12+
glext_procs.h
13+
glext_types.h
14+
glut_const.h
15+
glut_util.h
16+
include/GL/freeglut.h
17+
include/GL/freeglut_ext.h
18+
include/GL/freeglut_std.h
19+
include/GL/gl.h
20+
include/GL/glext.h
21+
include/GL/glprocs.h
22+
include/GL/glu.h
23+
include/GL/glut.h
24+
include/GL/glxext.h
25+
include/GL/wglext.h
26+
lib/OpenGL/GLUT.pm
27+
menutest.pl
28+
pgopogl.h
29+
pgopogl.xs
30+
pogl_const.xs
31+
pogl_gl_top.xs
32+
ppport.h
33+
t/00_require.t
34+
t/01_use.t
35+
typemap
36+
utils/Makefile
37+
utils/Makefile.cygwin
38+
utils/Makefile.macosx
39+
utils/cleanup.pl
40+
utils/const.pl
41+
utils/exports.pl
42+
utils/exports.txt
43+
utils/glext_procs.pl
44+
utils/glversion.c
45+
utils/hdr_diff.pl
46+
utils/makefile.mak
47+
utils/makefile.mingw
48+
utils/mingw.bat
49+
utils/opengl32.txt
50+
utils/strawberry.bat
51+
utils/wgl_ext.txt

Makefile.PL

+7-47
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ elsif ($found_libs->{GLUT} || $found_libs->{GLUT32})
338338
}
339339
else
340340
{
341-
die "FreeGLUT or GLUT libraries were not found, won't build OpenGL module.";
341+
die "FreeGLUT or GLUT libraries were not found, won't build OpenGL::GLUT module.";
342342
}
343343

344344
print "\nUsing interface: $interface_lib\n\n";
@@ -441,8 +441,8 @@ if ($IS_W32API || (($^O eq 'MSWin32') && !$IS_CYGWIN)) # Win32
441441
#
442442
## $EXES = ['FreeGLUT/freeglut.dll'];
443443
{
444-
system $^X , qw[-MExtUtils::Command -e mkpath --], qw[blib/arch/auto/OpenGL];
445-
system $^X , qw[-MExtUtils::Command -e cp --], qw[FreeGLUT/freeglut.dll blib/arch/auto/OpenGL/freeglut.dll];
444+
system $^X , qw[-MExtUtils::Command -e mkpath --], qw[blib/arch/auto/OpenGL/GLUT/];
445+
system $^X , qw[-MExtUtils::Command -e cp --], qw[FreeGLUT/freeglut.dll blib/arch/auto/OpenGL/GLUT/freeglut.dll];
446446
my @other_installs = grep { -e "$_\\freeglut.dll" } split /;/, $ENV{PATH};
447447
if(@other_installs) {
448448
print "\n" ;
@@ -568,27 +568,19 @@ clean_libs( $LIBS );
568568
# This is the final build configuration
569569
my $build_config =
570570
{
571-
'NAME' => 'OpenGL',
572-
'VERSION_FROM'=> 'OpenGL.pm',
573-
'PM' =>
574-
{
575-
'OpenGL.pm' => '$(INST_LIBDIR)/OpenGL.pm',
576-
'OpenGL.pod'=> '$(INST_LIBDIR)/OpenGL.pod',
577-
'Array.pod'=> '$(INST_LIBDIR)/OpenGL/Array.pod',
578-
'Tessellation.pod'=> '$(INST_LIBDIR)/OpenGL/Tessellation.pod',
579-
'Config.pm' => '$(INST_LIBDIR)/OpenGL/Config.pm'
580-
},
571+
'NAME' => 'OpenGL::GLUT',
572+
'VERSION_FROM'=> 'lib/OpenGL/GLUT.pm',
581573
'PREREQ_PM' => { 'Test::More' => 0 },
582574
'AUTHOR' => "Chris Marshall ".'<chm at cpan dot org>',
583-
'OBJECT' => '$(BASEEXT)$(OBJ_EXT) gl_util$(OBJ_EXT) pogl_const$(OBJ_EXT) pogl_gl_top$(OBJ_EXT) pogl_glu$(OBJ_EXT) pogl_rpn$(OBJ_EXT) pogl_matrix$(OBJ_EXT) pogl_glut$(OBJ_EXT) pogl_gl_Accu_GetM$(OBJ_EXT) pogl_gl_GetP_Pass$(OBJ_EXT) pogl_gl_Mult_Prog$(OBJ_EXT) pogl_gl_Pixe_Ver2$(OBJ_EXT) pogl_gl_Prog_Clam$(OBJ_EXT) pogl_gl_Tex2_Draw$(OBJ_EXT) pogl_gl_Ver3_Tex1$(OBJ_EXT) pogl_gl_Vert_Multi$(OBJ_EXT)',
575+
'OBJECT' => '$(BASEEXT)$(OBJ_EXT) gl_util$(OBJ_EXT) pogl_const$(OBJ_EXT) pogl_gl_top$(OBJ_EXT)',
584576
'XSPROTOARG' => '-noprototypes',
585577
'DEFINE' => $DEFS,
586578
'INC' => $INCS,
587579
'LIBS' => $LIBS,
588580
'dynamic_lib' => $DYNS,
589581
'LDFROM' => '$(OBJECT) '.(defined($LDFROM)?$LDFROM:''),
590582
'META_MERGE' => {
591-
abstract => 'Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT',
583+
abstract => 'Perl bindings to the GLUT/FreeGLUT toolkit',
592584
resources => {
593585
homepage => 'http://sourceforge.net/projects/pogl/',
594586
bugtracker => 'http://sourceforge.net/tracker/?group_id=562483&atid=2281758',
@@ -600,7 +592,6 @@ my $build_config =
600592
'clean' =>
601593
{
602594
FILES =>
603-
"Config.pm ".
604595
"utils/glversion.txt ".
605596
"utils/glversion$Config{exe_ext} ".
606597
"utils/glversion$Config{obj_ext}"
@@ -609,9 +600,7 @@ my $build_config =
609600

610601
print "\nMakeMaker configuration:\n" if $verbose;
611602

612-
close(CONF) if (open(CONF,">Config.pm")); # Generate place-holder Config.pm
613603
WriteMakefile( %$build_config ); # Generate the Makefile
614-
WriteConfigPM( $build_config ); # Regenerate final Config.pm
615604

616605
if ($found_libs->{GLX} && $ENV{TERM} ne 'xterm')
617606
{
@@ -1025,32 +1014,3 @@ sub clean_libs {
10251014
print "clean_libs: returning LIBS='$outlibs'\n" if $verbose>1;
10261015
$_[0] = $outlibs;
10271016
}
1028-
1029-
# Dump Config.pm
1030-
sub WriteConfigPM
1031-
{
1032-
my($config) = @_;
1033-
1034-
die "Unable to write to Config.pm\n" if (!open(CONFIGPM, ">Config.pm"));
1035-
1036-
print CONFIGPM q
1037-
{
1038-
# This is the Perl OpenGL build configuration file.
1039-
# It contains the final OpenGL build arguements from
1040-
# the configuration process. Access the values by
1041-
# use OpenGL::Config which defines the variable
1042-
# $OpenGL::Config containing the hash arguments from
1043-
# the WriteMakefile() call.
1044-
#
1045-
};
1046-
1047-
print CONFIGPM Data::Dumper->Dump( [$config], [qw(OpenGL::Config)] );
1048-
1049-
print CONFIGPM qq
1050-
{
1051-
1;
1052-
__END__
1053-
};
1054-
1055-
close(CONFIGPM);
1056-
};

gl_exclude.h

+213
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
// OpenGL Extension Exclusions - may be modified before building.
2+
//
3+
// Generated for NVIDIA Corporation, GeForce GTX 1050 Ti/PCIe/SSE2
4+
// OpenGL v4.5.0 NVIDIA 376.33, using FreeGLUT v20801
5+
6+
#define NO_GL_3DFX_multisample
7+
#define NO_GL_3DFX_tbuffer
8+
#define NO_GL_3DFX_texture_compression_FXT1
9+
#define NO_GL_AMD_blend_minmax_factor
10+
#define NO_GL_AMD_conservative_depth
11+
#define NO_GL_AMD_debug_output
12+
#define NO_GL_AMD_depth_clamp_separate
13+
#define NO_GL_AMD_draw_buffers_blend
14+
#define NO_GL_AMD_gcn_shader
15+
#define NO_GL_AMD_gpu_shader_int64
16+
#define NO_GL_AMD_interleaved_elements
17+
#define NO_GL_AMD_name_gen_delete
18+
#define NO_GL_AMD_occlusion_query_event
19+
#define NO_GL_AMD_performance_monitor
20+
#define NO_GL_AMD_pinned_memory
21+
#define NO_GL_AMD_query_buffer_object
22+
#define NO_GL_AMD_sample_positions
23+
#define NO_GL_AMD_shader_atomic_counter_ops
24+
#define NO_GL_AMD_shader_explicit_vertex_parameter
25+
#define NO_GL_AMD_shader_stencil_export
26+
#define NO_GL_AMD_shader_trinary_minmax
27+
#define NO_GL_AMD_sparse_texture
28+
#define NO_GL_AMD_stencil_operation_extended
29+
#define NO_GL_AMD_texture_texture4
30+
#define NO_GL_AMD_transform_feedback3_lines_triangles
31+
#define NO_GL_AMD_transform_feedback4
32+
#define NO_GL_AMD_vertex_shader_tessellator
33+
#define NO_GL_APPLE_aux_depth_stencil
34+
#define NO_GL_APPLE_client_storage
35+
#define NO_GL_APPLE_element_array
36+
#define NO_GL_APPLE_fence
37+
#define NO_GL_APPLE_float_pixels
38+
#define NO_GL_APPLE_flush_buffer_range
39+
#define NO_GL_APPLE_object_purgeable
40+
#define NO_GL_APPLE_rgb_422
41+
#define NO_GL_APPLE_row_bytes
42+
#define NO_GL_APPLE_specular_vector
43+
#define NO_GL_APPLE_texture_range
44+
#define NO_GL_APPLE_transform_hint
45+
#define NO_GL_APPLE_vertex_array_object
46+
#define NO_GL_APPLE_vertex_array_range
47+
#define NO_GL_APPLE_vertex_program_evaluators
48+
#define NO_GL_APPLE_ycbcr_422
49+
#define NO_GL_ARB_cl_event
50+
#define NO_GL_ARB_matrix_palette
51+
#define NO_GL_ARB_robustness_isolation
52+
#define NO_GL_ARB_shader_stencil_export
53+
#define NO_GL_ARB_shadow_ambient
54+
#define NO_GL_ARB_vertex_blend
55+
#define NO_GL_ATI_element_array
56+
#define NO_GL_ATI_envmap_bumpmap
57+
#define NO_GL_ATI_fragment_shader
58+
#define NO_GL_ATI_map_object_buffer
59+
#define NO_GL_ATI_meminfo
60+
#define NO_GL_ATI_pixel_format_float
61+
#define NO_GL_ATI_pn_triangles
62+
#define NO_GL_ATI_separate_stencil
63+
#define NO_GL_ATI_text_fragment_shader
64+
#define NO_GL_ATI_texture_env_combine3
65+
#define NO_GL_ATI_vertex_array_object
66+
#define NO_GL_ATI_vertex_attrib_array_object
67+
#define NO_GL_ATI_vertex_streams
68+
#define NO_GL_EXT_422_pixels
69+
#define NO_GL_EXT_blend_logic_op
70+
#define NO_GL_EXT_clip_volume_hint
71+
#define NO_GL_EXT_cmyka
72+
#define NO_GL_EXT_color_subtable
73+
#define NO_GL_EXT_convolution
74+
#define NO_GL_EXT_coordinate_frame
75+
#define NO_GL_EXT_copy_texture
76+
#define NO_GL_EXT_cull_vertex
77+
#define NO_GL_EXT_debug_label
78+
#define NO_GL_EXT_debug_marker
79+
#define NO_GL_EXT_histogram
80+
#define NO_GL_EXT_index_array_formats
81+
#define NO_GL_EXT_index_func
82+
#define NO_GL_EXT_index_material
83+
#define NO_GL_EXT_index_texture
84+
#define NO_GL_EXT_light_texture
85+
#define NO_GL_EXT_misc_attribute
86+
#define NO_GL_EXT_multisample
87+
#define NO_GL_EXT_paletted_texture
88+
#define NO_GL_EXT_pixel_transform
89+
#define NO_GL_EXT_pixel_transform_color_table
90+
#define NO_GL_EXT_polygon_offset
91+
#define NO_GL_EXT_shared_texture_palette
92+
#define NO_GL_EXT_stencil_clear_tag
93+
#define NO_GL_EXT_subtexture
94+
#define NO_GL_EXT_texture
95+
#define NO_GL_EXT_texture_perturb_normal
96+
#define NO_GL_EXT_texture_snorm
97+
#define NO_GL_EXT_transform_feedback
98+
#define NO_GL_EXT_vertex_shader
99+
#define NO_GL_EXT_vertex_weighting
100+
#define NO_GL_EXT_x11_sync_object
101+
#define NO_GL_GREMEDY_frame_terminator
102+
#define NO_GL_GREMEDY_string_marker
103+
#define NO_GL_HP_convolution_border_modes
104+
#define NO_GL_HP_image_transform
105+
#define NO_GL_HP_occlusion_test
106+
#define NO_GL_HP_texture_lighting
107+
#define NO_GL_IBM_cull_vertex
108+
#define NO_GL_IBM_multimode_draw_arrays
109+
#define NO_GL_IBM_static_data
110+
#define NO_GL_IBM_vertex_array_lists
111+
#define NO_GL_INGR_blend_func_separate
112+
#define NO_GL_INGR_color_clamp
113+
#define NO_GL_INGR_interlace_read
114+
#define NO_GL_INTEL_fragment_shader_ordering
115+
#define NO_GL_INTEL_framebuffer_CMAA
116+
#define NO_GL_INTEL_map_texture
117+
#define NO_GL_INTEL_parallel_arrays
118+
#define NO_GL_INTEL_performance_query
119+
#define NO_GL_KHR_texture_compression_astc_hdr
120+
#define NO_GL_KHR_texture_compression_astc_ldr
121+
#define NO_GL_KHR_texture_compression_astc_sliced_3d
122+
#define NO_GL_MESAX_texture_stack
123+
#define NO_GL_MESA_pack_invert
124+
#define NO_GL_MESA_resize_buffers
125+
#define NO_GL_MESA_window_pos
126+
#define NO_GL_MESA_ycbcr_texture
127+
#define NO_GL_NV_deep_texture3D
128+
#define NO_GL_NV_evaluators
129+
#define NO_GL_NV_fragment_program4
130+
#define NO_GL_NV_geometry_program4
131+
#define NO_GL_NV_present_video
132+
#define NO_GL_NV_robustness_video_memory_purge
133+
#define NO_GL_NV_shader_buffer_store
134+
#define NO_GL_NV_tessellation_program5
135+
#define NO_GL_NV_texgen_emboss
136+
#define NO_GL_NV_texture_expand_normal
137+
#define NO_GL_NV_vdpau_interop
138+
#define NO_GL_NV_vertex_program4
139+
#define NO_GL_NV_video_capture
140+
#define NO_GL_OES_byte_coordinates
141+
#define NO_GL_OES_compressed_paletted_texture
142+
#define NO_GL_OES_fixed_point
143+
#define NO_GL_OES_query_matrix
144+
#define NO_GL_OES_read_format
145+
#define NO_GL_OES_single_precision
146+
#define NO_GL_OML_interlace
147+
#define NO_GL_OML_resample
148+
#define NO_GL_OML_subsample
149+
#define NO_GL_OVR_multiview
150+
#define NO_GL_OVR_multiview2
151+
#define NO_GL_PGI_misc_hints
152+
#define NO_GL_PGI_vertex_hints
153+
#define NO_GL_REND_screen_coordinates
154+
#define NO_GL_SGIS_detail_texture
155+
#define NO_GL_SGIS_fog_function
156+
#define NO_GL_SGIS_multisample
157+
#define NO_GL_SGIS_pixel_texture
158+
#define NO_GL_SGIS_point_line_texgen
159+
#define NO_GL_SGIS_point_parameters
160+
#define NO_GL_SGIS_sharpen_texture
161+
#define NO_GL_SGIS_texture4D
162+
#define NO_GL_SGIS_texture_border_clamp
163+
#define NO_GL_SGIS_texture_color_mask
164+
#define NO_GL_SGIS_texture_edge_clamp
165+
#define NO_GL_SGIS_texture_filter4
166+
#define NO_GL_SGIS_texture_select
167+
#define NO_GL_SGIX_async
168+
#define NO_GL_SGIX_async_histogram
169+
#define NO_GL_SGIX_async_pixel
170+
#define NO_GL_SGIX_blend_alpha_minmax
171+
#define NO_GL_SGIX_calligraphic_fragment
172+
#define NO_GL_SGIX_clipmap
173+
#define NO_GL_SGIX_convolution_accuracy
174+
#define NO_GL_SGIX_depth_pass_instrument
175+
#define NO_GL_SGIX_flush_raster
176+
#define NO_GL_SGIX_fog_offset
177+
#define NO_GL_SGIX_fragment_lighting
178+
#define NO_GL_SGIX_framezoom
179+
#define NO_GL_SGIX_igloo_interface
180+
#define NO_GL_SGIX_instruments
181+
#define NO_GL_SGIX_interlace
182+
#define NO_GL_SGIX_ir_instrument1
183+
#define NO_GL_SGIX_list_priority
184+
#define NO_GL_SGIX_pixel_texture
185+
#define NO_GL_SGIX_pixel_tiles
186+
#define NO_GL_SGIX_polynomial_ffd
187+
#define NO_GL_SGIX_reference_plane
188+
#define NO_GL_SGIX_resample
189+
#define NO_GL_SGIX_scalebias_hint
190+
#define NO_GL_SGIX_shadow_ambient
191+
#define NO_GL_SGIX_sprite
192+
#define NO_GL_SGIX_subsample
193+
#define NO_GL_SGIX_tag_sample_buffer
194+
#define NO_GL_SGIX_texture_add_env
195+
#define NO_GL_SGIX_texture_coordinate_clamp
196+
#define NO_GL_SGIX_texture_lod_bias
197+
#define NO_GL_SGIX_texture_multi_buffer
198+
#define NO_GL_SGIX_texture_scale_bias
199+
#define NO_GL_SGIX_vertex_preclip
200+
#define NO_GL_SGIX_ycrcb
201+
#define NO_GL_SGIX_ycrcb_subsample
202+
#define NO_GL_SGIX_ycrcba
203+
#define NO_GL_SGI_color_matrix
204+
#define NO_GL_SGI_color_table
205+
#define NO_GL_SGI_texture_color_table
206+
#define NO_GL_SUNX_constant_data
207+
#define NO_GL_SUN_convolution_border_modes
208+
#define NO_GL_SUN_global_alpha
209+
#define NO_GL_SUN_mesh_array
210+
#define NO_GL_SUN_triangle_list
211+
#define NO_GL_SUN_vertex
212+
#define NO_GL_WIN_phong_shading
213+
#define NO_GL_WIN_specular_fog

0 commit comments

Comments
 (0)