#**************************************************************
#  
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#  
#    http://www.apache.org/licenses/LICENSE-2.0
#  
#  Unless required by applicable law or agreed to in writing,
#  software distributed under the License is distributed on an
#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#  KIND, either express or implied.  See the License for the
#  specific language governing permissions and limitations
#  under the License.
#  
#**************************************************************



$(eval $(call gb_Package_Package,cppuhelper_inc,$(SRCDIR)/cppuhelper/inc))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase.hxx,cppuhelper/implbase.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase_ex.hxx,cppuhelper/implbase_ex.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase_ex_pre.hxx,cppuhelper/implbase_ex_pre.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase_ex_post.hxx,cppuhelper/implbase_ex_post.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase1.hxx,cppuhelper/implbase1.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase2.hxx,cppuhelper/implbase2.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase3.hxx,cppuhelper/implbase3.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase4.hxx,cppuhelper/implbase4.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase5.hxx,cppuhelper/implbase5.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase6.hxx,cppuhelper/implbase6.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase7.hxx,cppuhelper/implbase7.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase8.hxx,cppuhelper/implbase8.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase9.hxx,cppuhelper/implbase9.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase10.hxx,cppuhelper/implbase10.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase11.hxx,cppuhelper/implbase11.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implbase12.hxx,cppuhelper/implbase12.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase.hxx,cppuhelper/compbase.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase_ex.hxx,cppuhelper/compbase_ex.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase1.hxx,cppuhelper/compbase1.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase2.hxx,cppuhelper/compbase2.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase3.hxx,cppuhelper/compbase3.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase4.hxx,cppuhelper/compbase4.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase5.hxx,cppuhelper/compbase5.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase6.hxx,cppuhelper/compbase6.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase7.hxx,cppuhelper/compbase7.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase8.hxx,cppuhelper/compbase8.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase9.hxx,cppuhelper/compbase9.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase10.hxx,cppuhelper/compbase10.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase11.hxx,cppuhelper/compbase11.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/compbase12.hxx,cppuhelper/compbase12.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/shlib.hxx,cppuhelper/shlib.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/basemutex.hxx,cppuhelper/basemutex.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/bootstrap.hxx,cppuhelper/bootstrap.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/exc_hlp.hxx,cppuhelper/exc_hlp.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/typeprovider.hxx,cppuhelper/typeprovider.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/factory.hxx,cppuhelper/factory.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/component_context.hxx,cppuhelper/component_context.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/interfacecontainer.hxx,cppuhelper/interfacecontainer.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/interfacecontainer.h,cppuhelper/interfacecontainer.h))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/component.hxx,cppuhelper/component.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/propshlp.hxx,cppuhelper/propshlp.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/proptypehlp.hxx,cppuhelper/proptypehlp.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/propertysetmixin.hxx,cppuhelper/propertysetmixin.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/proptypehlp.h,cppuhelper/proptypehlp.h))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/stdidlclass.hxx,cppuhelper/stdidlclass.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weak.hxx,cppuhelper/weak.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weakagg.hxx,cppuhelper/weakagg.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/queryinterface.hxx,cppuhelper/queryinterface.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weakref.hxx,cppuhelper/weakref.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/servicefactory.hxx,cppuhelper/servicefactory.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/implementationentry.hxx,cppuhelper/implementationentry.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/access_control.hxx,cppuhelper/access_control.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/unourl.hxx,cppuhelper/unourl.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/cppuhelperdllapi.h,cppuhelper/cppuhelperdllapi.h))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/findsofficepath.h,cppuhelper/findsofficepath.h))

