Only export the required symbols of libcdio.

This commit is contained in:
nboullis
2004-11-14 16:35:17 +00:00
parent 28b8a70c9a
commit ea63e52de0
2 changed files with 79 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
# $Id: Makefile.am,v 1.55 2004/11/12 03:44:08 rocky Exp $
# $Id: Makefile.am,v 1.56 2004/11/14 16:35:17 nboullis Exp $
#
# Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
#
@@ -174,10 +174,12 @@ libcdio_la_DEPENDENCIES = libcdio.la.ver
libcdio.la.ver: $(libcdio_la_OBJECTS)
echo 'CDIO_$(libcdio_la_MAJOR) { ' > $@
echo " global:" >> $@
nm $(patsubst %.lo,%.o,$(libcdio_la_OBJECTS)) | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/ \1;/p' | sort | uniq >> $@
nm $(patsubst %.lo,%.o,$(libcdio_la_OBJECTS)) | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | while read symbol; do if grep -q "^$${symbol}\$$" libcdio.sym; then echo " $${symbol};"; fi; done >> $@
echo " local:" >> $@
nm $(patsubst %.lo,%.o,$(libcdio_la_OBJECTS)) | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$$/\1/p' | sort -u | while read symbol; do if grep -q "^$${symbol}\$$" libcdio.sym; then :; else echo " $${symbol};"; fi; done >> $@
echo '};' >> $@
else
libcdio_la_LDFLAGS = $(libcdio_la_ldflags)
libcdio_la_LDFLAGS = $(libcdio_la_ldflags) -export-symbols libcdio.sym
endif
libiso9660_la_MAJOR := $(shell expr $(libiso9660_la_CURRENT) - $(libiso9660_la_AGE))

74
lib/libcdio.sym Normal file
View File

@@ -0,0 +1,74 @@
_cdio_list_append
_cdio_list_begin
_cdio_list_free
_cdio_list_new
_cdio_list_node_data
_cdio_list_node_next
_cdio_malloc
_cdio_strfreev
_cdio_strsplit
cdio_debug
cdio_destroy
cdio_driver_describe
cdio_free_device_list
cdio_get_arg
cdio_get_cdtext
cdio_get_default_device
cdio_get_devices
cdio_get_devices_ret
cdio_get_devices_with_cap
cdio_get_discmode
cdio_get_drive_cap
cdio_get_drive_cap_dev
cdio_get_driver_id
cdio_get_driver_name
cdio_get_first_track_num
cdio_get_hwinfo
cdio_get_joliet_level
cdio_get_mcn
cdio_get_num_tracks
cdio_get_track_format
cdio_get_track_green
cdio_get_track_lba
cdio_get_track_lsn
cdio_get_track_msf
cdio_guess_cd_type
cdio_have_driver
cdio_info
cdio_init
cdio_is_cuefile
cdio_is_discmode_cdrom
cdio_is_tocfile
cdio_lba_to_lsn
cdio_lba_to_msf
cdio_lba_to_msf_str
cdio_log
cdio_log_set_handler
cdio_loglevel_default
cdio_lsn_to_lba
cdio_lsn_to_msf
cdio_msf_to_lba
cdio_msf_to_lsn
cdio_msf_to_str
cdio_open
cdio_open_am
cdio_open_cue
cdio_read_audio_sector
cdio_read_mode1_sector
cdio_read_mode1_sectors
cdio_read_mode2_sector
cdio_read_mode2_sectors
cdio_set_arg
cdio_stat_size
cdio_stdio_destroy
cdio_stdio_new
cdio_stream_read
cdio_stream_seek
cdio_warn
cdtext_field2str
discmode2str
from_bcd8
scsi_mmc_get_hwinfo
scsi_mmc_run_cmd
to_bcd8
track_format2str