1#!/bin/bash -e
2#
3# Copyright (c) 2010-2012 Apple Inc. All rights reserved.
4#
5# @APPLE_APACHE_LICENSE_HEADER_START@
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11#     http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19# @APPLE_APACHE_LICENSE_HEADER_END@
20#
21
22if [ "$ACTION" = installhdrs ]; then exit 0; fi
23if [ "${RC_ProjectName%_Sim}" != "${RC_ProjectName}" ]; then exit 0; fi
24
25mkdir -p "$DSTROOT"/usr/share/man/man3 || true
26mkdir -p "$DSTROOT"/usr/local/share/man/man3 || true
27
28# Copy man pages
29cd "$SRCROOT"/man
30BASE_PAGES="dispatch.3 dispatch_after.3 dispatch_api.3 dispatch_apply.3 \
31		dispatch_async.3 dispatch_group_create.3 dispatch_object.3 \
32		dispatch_once.3 dispatch_queue_create.3 dispatch_semaphore_create.3 \
33		dispatch_source_create.3 dispatch_time.3 dispatch_data_create.3 \
34		dispatch_io_create.3 dispatch_io_read.3 dispatch_read.3"
35
36PRIVATE_PAGES="dispatch_benchmark.3"
37
38cp ${BASE_PAGES} "$DSTROOT"/usr/share/man/man3
39cp ${PRIVATE_PAGES} "$DSTROOT"/usr/local/share/man/man3
40
41# Make hard links (lots of hard links)
42
43cd "$DSTROOT"/usr/local/share/man/man3
44ln -f dispatch_benchmark.3 dispatch_benchmark_f.3
45chown ${INSTALL_OWNER}:${INSTALL_GROUP} $PRIVATE_PAGES
46chmod $INSTALL_MODE_FLAG $PRIVATE_PAGES
47
48cd $DSTROOT/usr/share/man/man3
49
50chown ${INSTALL_OWNER}:${INSTALL_GROUP} $BASE_PAGES
51chmod $INSTALL_MODE_FLAG $BASE_PAGES
52
53ln -f dispatch_after.3 dispatch_after_f.3
54ln -f dispatch_apply.3 dispatch_apply_f.3
55ln -f dispatch_once.3 dispatch_once_f.3
56
57for m in dispatch_async_f dispatch_sync dispatch_sync_f; do
58	ln -f dispatch_async.3 ${m}.3
59done
60
61for m in dispatch_group_enter dispatch_group_leave dispatch_group_wait \
62		dispatch_group_async dispatch_group_async_f dispatch_group_notify \
63		dispatch_group_notify_f; do
64	ln -f dispatch_group_create.3 ${m}.3
65done
66
67for m in dispatch_retain dispatch_release dispatch_suspend dispatch_resume \
68		dispatch_get_context dispatch_set_context dispatch_set_finalizer_f; do
69	ln -f dispatch_object.3 ${m}.3
70done
71
72for m in dispatch_semaphore_signal dispatch_semaphore_wait; do
73	ln -f dispatch_semaphore_create.3 ${m}.3
74done
75
76for m in dispatch_get_current_queue dispatch_main dispatch_get_main_queue \
77		dispatch_get_global_queue dispatch_queue_get_label \
78		dispatch_set_target_queue; do
79	ln -f dispatch_queue_create.3 ${m}.3
80done
81
82for m in dispatch_source_set_event_handler dispatch_source_set_event_handler_f \
83		dispatch_source_set_registration_handler dispatch_source_set_registration_handler_f \
84		dispatch_source_set_cancel_handler dispatch_source_set_cancel_handler_f \
85		dispatch_source_cancel dispatch_source_testcancel \
86		dispatch_source_get_handle dispatch_source_get_mask \
87		dispatch_source_get_data dispatch_source_merge_data \
88		dispatch_source_set_timer; do
89	ln -f dispatch_source_create.3 ${m}.3
90done
91
92ln -f dispatch_time.3 dispatch_walltime.3
93
94for m in dispatch_data_create_concat dispatch_data_create_subrange \
95		dispatch_data_create_map dispatch_data_apply \
96		dispatch_data_copy_region dispatch_data_get_size; do
97	ln -f dispatch_data_create.3 ${m}.3
98done
99
100for m in dispatch_io_create_with_path dispatch_io_set_high_water \
101		dispatch_io_set_low_water dispatch_io_set_interval \
102		dispatch_io_close dispatch_io_barrier; do
103	ln -f dispatch_io_create.3 ${m}.3
104done
105
106ln -f dispatch_io_read.3 dispatch_io_write.3
107
108ln -f dispatch_read.3 dispatch_write.3
109