In a large bowl cream sugar and butter. Beat in sour cream, eggs and vanilla until smooth.
Stir together flour, baking powder, soda, and cinnamon. Slowly beat in dry ingredients into creamed mixture. The batter will be stiff.
Stir in pineapple with juice and nuts or coconut(deciding which you use).
Divide batter into 2 9-inch greased round cake pans. Bake for 30 minutes at 350 degrees or until cake tests done. Cool in pans for 15 minutes. Remove cakes from pans onto cooling rack.
For the frosting, beat cream cheese and butter until smooth. Slowly beat in the powdered sugar and vanilla until creamy.
Place one cake layer inverted on cake plate. Frost the top. Place the other layer on top right side up. Frost the top and the sides of the cake. Sprinkle with chopped macadamia nuts. Garnish with pineapple slices and sliced strawberries if you prefer.